Skip to content
Snippets Groups Projects
Select Git revision
  • 6bf869679057be5cbe79b9bf91564e12b64873b9
  • main default protected
  • Issue/3193-processingOfPersonalDataConsent
  • Issue/3179-sortDataPublicationServiceList
  • dev protected
  • Issue/2450-AdminPage
  • Issue/3215-lifecycle
  • Issue/3133-subProjectsChanges
  • Issue/2489-addNotificationManagement
  • Issue/3085-useNewApiClient
  • Issue/3043-DataStorageNrwResource
  • Issue/3011-maintenanceMode
  • Issue/2446-addingResponsibleOrganization
  • Issue/2900-removeInsituteField
  • Issue/2981-dataPubInDb
  • Issue/2881-messageController
  • Issue/2921-changesToDataPublicationFeature
  • Issue/2926-regAppLogin
  • Issue/2672-fixSfbPidPointing
  • Issue/2875-devcontainer
  • Issue/2401-advisoryServiceUI2
  • v3.20.0
  • v3.19.0
  • v3.18.0
  • v3.17.0
  • v3.16.0
  • v3.15.0
  • v3.14.0
  • v3.13.0
  • v3.12.0
  • v3.11.0
  • v3.10.0
  • v3.9.0
  • v3.8.0
  • v3.7.0
  • v3.6.0
  • v3.5.0
  • v3.4.3
  • v3.4.2
  • v3.4.1
  • v3.4.0
41 results

api.ts

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    api.ts 473.82 KiB
    /* tslint:disable */
    /* eslint-disable */
    /**
     * Coscine Web API
     * Coscine (short for <b>CO</b>llaborative <b>SC</b>ientific <b>IN</b>tegration <b>E</b>nvironment) is the research data management platform for your research project.
     *
     * The version of the OpenAPI document: 2.0
     * Contact: servicedesk@itc.rwth-aachen.de
     *
     * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
     * https://openapi-generator.tech
     * Do not edit the class manually.
     */
    
    
    import { Configuration } from './configuration';
    import globalAxios, { AxiosPromise, AxiosInstance } from 'axios';
    // Some imports not used depending on template conditions
    // @ts-ignore
    import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from './common';
    // @ts-ignore
    import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from './base';
    
    /**
     * 
     * @export
     * @enum {string}
     */
    
    export enum AcceptedLanguage {
        De = 'de',
        En = 'en'
    }
    
    /**
     * 
     * @export
     * @interface ApiTokenDto
     */
    export interface ApiTokenDto {
        /**
         * 
         * @type {string}
         * @memberof ApiTokenDto
         */
        id?: string;
        /**
         * 
         * @type {string}
         * @memberof ApiTokenDto
         */
        name?: string;
        /**
         * 
         * @type {string}
         * @memberof ApiTokenDto
         */
        creationDate?: string;
        /**
         * 
         * @type {string}
         * @memberof ApiTokenDto
         */
        expiryDate?: string;
        /**
         * 
         * @type {string}
         * @memberof ApiTokenDto
         */
        token?: string | null;
        /**
         * 
         * @type {UserMinimalDto}
         * @memberof ApiTokenDto
         */
        owner?: UserMinimalDto;
    }
    /**
     * 
     * @export
     * @interface ApiTokenDtoIEnumerablePagedResponse
     */
    export interface ApiTokenDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<ApiTokenDto>}
         * @memberof ApiTokenDtoIEnumerablePagedResponse
         */
        data?: Array<ApiTokenDto> | null;
        /**
         * 
         * @type {number}
         * @memberof ApiTokenDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof ApiTokenDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof ApiTokenDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface ApiTokenDtoResponse
     */
    export interface ApiTokenDtoResponse {
        /**
         * 
         * @type {ApiTokenDto}
         * @memberof ApiTokenDtoResponse
         */
        data?: ApiTokenDto;
        /**
         * 
         * @type {number}
         * @memberof ApiTokenDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof ApiTokenDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface ApiTokenForCreationDto
     */
    export interface ApiTokenForCreationDto {
        /**
         * 
         * @type {string}
         * @memberof ApiTokenForCreationDto
         */
        name: string;
        /**
         * 
         * @type {number}
         * @memberof ApiTokenForCreationDto
         */
        expiresInDays: number;
    }
    /**
     * 
     * @export
     * @interface ApplicationProfileDto
     */
    export interface ApplicationProfileDto {
        /**
         * 
         * @type {string}
         * @memberof ApplicationProfileDto
         */
        uri?: string;
        /**
         * 
         * @type {string}
         * @memberof ApplicationProfileDto
         */
        displayName?: string | null;
        /**
         * 
         * @type {string}
         * @memberof ApplicationProfileDto
         */
        description?: string | null;
        /**
         * 
         * @type {RdfDefinitionDto}
         * @memberof ApplicationProfileDto
         */
        definition?: RdfDefinitionDto;
    }
    /**
     * 
     * @export
     * @interface ApplicationProfileDtoIEnumerablePagedResponse
     */
    export interface ApplicationProfileDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<ApplicationProfileDto>}
         * @memberof ApplicationProfileDtoIEnumerablePagedResponse
         */
        data?: Array<ApplicationProfileDto> | null;
        /**
         * 
         * @type {number}
         * @memberof ApplicationProfileDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof ApplicationProfileDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof ApplicationProfileDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface ApplicationProfileDtoResponse
     */
    export interface ApplicationProfileDtoResponse {
        /**
         * 
         * @type {ApplicationProfileDto}
         * @memberof ApplicationProfileDtoResponse
         */
        data?: ApplicationProfileDto;
        /**
         * 
         * @type {number}
         * @memberof ApplicationProfileDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof ApplicationProfileDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface ApplicationProfileForCreationDto
     */
    export interface ApplicationProfileForCreationDto {
        /**
         * 
         * @type {string}
         * @memberof ApplicationProfileForCreationDto
         */
        name: string;
        /**
         * 
         * @type {string}
         * @memberof ApplicationProfileForCreationDto
         */
        uri: string;
        /**
         * 
         * @type {RdfDefinitionForManipulationDto}
         * @memberof ApplicationProfileForCreationDto
         */
        definition: RdfDefinitionForManipulationDto;
    }
    /**
     * 
     * @export
     * @interface ApplicationProfileForCreationDtoResponse
     */
    export interface ApplicationProfileForCreationDtoResponse {
        /**
         * 
         * @type {ApplicationProfileForCreationDto}
         * @memberof ApplicationProfileForCreationDtoResponse
         */
        data?: ApplicationProfileForCreationDto;
        /**
         * 
         * @type {number}
         * @memberof ApplicationProfileForCreationDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof ApplicationProfileForCreationDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface ApplicationProfileForResourceCreationDto
     */
    export interface ApplicationProfileForResourceCreationDto {
        /**
         * 
         * @type {string}
         * @memberof ApplicationProfileForResourceCreationDto
         */
        uri: string;
    }
    /**
     * 
     * @export
     * @interface ApplicationProfileMinimalDto
     */
    export interface ApplicationProfileMinimalDto {
        /**
         * 
         * @type {string}
         * @memberof ApplicationProfileMinimalDto
         */
        uri?: string;
    }
    /**
     * 
     * @export
     * @interface DisciplineDto
     */
    export interface DisciplineDto {
        /**
         * 
         * @type {string}
         * @memberof DisciplineDto
         */
        id?: string;
        /**
         * 
         * @type {string}
         * @memberof DisciplineDto
         */
        uri?: string;
        /**
         * 
         * @type {string}
         * @memberof DisciplineDto
         */
        displayNameDe?: string;
        /**
         * 
         * @type {string}
         * @memberof DisciplineDto
         */
        displayNameEn?: string;
    }
    /**
     * 
     * @export
     * @interface DisciplineDtoIEnumerablePagedResponse
     */
    export interface DisciplineDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<DisciplineDto>}
         * @memberof DisciplineDtoIEnumerablePagedResponse
         */
        data?: Array<DisciplineDto> | null;
        /**
         * 
         * @type {number}
         * @memberof DisciplineDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof DisciplineDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof DisciplineDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface DisciplineDtoResponse
     */
    export interface DisciplineDtoResponse {
        /**
         * 
         * @type {DisciplineDto}
         * @memberof DisciplineDtoResponse
         */
        data?: DisciplineDto;
        /**
         * 
         * @type {number}
         * @memberof DisciplineDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof DisciplineDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface DisciplineForProjectManipulationDto
     */
    export interface DisciplineForProjectManipulationDto {
        /**
         * 
         * @type {string}
         * @memberof DisciplineForProjectManipulationDto
         */
        id: string;
    }
    /**
     * 
     * @export
     * @interface DisciplineForResourceManipulationDto
     */
    export interface DisciplineForResourceManipulationDto {
        /**
         * 
         * @type {string}
         * @memberof DisciplineForResourceManipulationDto
         */
        id: string;
    }
    /**
     * 
     * @export
     * @interface DisciplineForUserManipulationDto
     */
    export interface DisciplineForUserManipulationDto {
        /**
         * 
         * @type {string}
         * @memberof DisciplineForUserManipulationDto
         */
        id: string;
    }
    /**
     * 
     * @export
     * @interface FileTreeDto
     */
    export interface FileTreeDto {
        /**
         * 
         * @type {string}
         * @memberof FileTreeDto
         */
        path?: string;
        /**
         * 
         * @type {TreeDataType}
         * @memberof FileTreeDto
         */
        type?: TreeDataType;
        /**
         * 
         * @type {string}
         * @memberof FileTreeDto
         */
        directory?: string;
        /**
         * 
         * @type {string}
         * @memberof FileTreeDto
         */
        name?: string;
        /**
         * 
         * @type {string}
         * @memberof FileTreeDto
         */
        extension?: string;
        /**
         * 
         * @type {number}
         * @memberof FileTreeDto
         */
        size?: number;
        /**
         * 
         * @type {string}
         * @memberof FileTreeDto
         */
        creationDate?: string | null;
        /**
         * 
         * @type {string}
         * @memberof FileTreeDto
         */
        changeDate?: string | null;
    }
    /**
     * 
     * @export
     * @interface FileTreeDtoIEnumerablePagedResponse
     */
    export interface FileTreeDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<FileTreeDto>}
         * @memberof FileTreeDtoIEnumerablePagedResponse
         */
        data?: Array<FileTreeDto> | null;
        /**
         * 
         * @type {number}
         * @memberof FileTreeDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof FileTreeDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof FileTreeDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface FixedValueForResourceManipulationDto
     */
    export interface FixedValueForResourceManipulationDto {
        /**
         * 
         * @type {string}
         * @memberof FixedValueForResourceManipulationDto
         */
        value?: string | null;
        /**
         * 
         * @type {string}
         * @memberof FixedValueForResourceManipulationDto
         */
        type?: string | null;
        /**
         * 
         * @type {string}
         * @memberof FixedValueForResourceManipulationDto
         */
        datatype?: string | null;
    }
    /**
     * 
     * @export
     * @interface GitLabOptionsDto
     */
    export interface GitLabOptionsDto {
        /**
         * 
         * @type {number}
         * @memberof GitLabOptionsDto
         */
        projectId?: number;
        /**
         * 
         * @type {string}
         * @memberof GitLabOptionsDto
         */
        repoUrl?: string | null;
        /**
         * 
         * @type {string}
         * @memberof GitLabOptionsDto
         */
        accessToken?: string | null;
        /**
         * 
         * @type {string}
         * @memberof GitLabOptionsDto
         */
        branch?: string | null;
    }
    /**
     * 
     * @export
     * @interface GitlabBranchDto
     */
    export interface GitlabBranchDto {
        /**
         * 
         * @type {string}
         * @memberof GitlabBranchDto
         */
        name?: string;
        /**
         * 
         * @type {boolean}
         * @memberof GitlabBranchDto
         */
        merged?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof GitlabBranchDto
         */
        _protected?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof GitlabBranchDto
         */
        _default?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof GitlabBranchDto
         */
        developersCanPush?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof GitlabBranchDto
         */
        developersCanMerge?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof GitlabBranchDto
         */
        canPush?: boolean;
    }
    /**
     * 
     * @export
     * @interface GitlabBranchDtoIEnumerableResponse
     */
    export interface GitlabBranchDtoIEnumerableResponse {
        /**
         * 
         * @type {Array<GitlabBranchDto>}
         * @memberof GitlabBranchDtoIEnumerableResponse
         */
        data?: Array<GitlabBranchDto> | null;
        /**
         * 
         * @type {number}
         * @memberof GitlabBranchDtoIEnumerableResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof GitlabBranchDtoIEnumerableResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface GitlabProjectDto
     */
    export interface GitlabProjectDto {
        /**
         * 
         * @type {number}
         * @memberof GitlabProjectDto
         */
        id?: number;
        /**
         * 
         * @type {boolean}
         * @memberof GitlabProjectDto
         */
        archived?: boolean;
        /**
         * 
         * @type {string}
         * @memberof GitlabProjectDto
         */
        name?: string;
        /**
         * 
         * @type {string}
         * @memberof GitlabProjectDto
         */
        nameWithNamespace?: string;
        /**
         * 
         * @type {string}
         * @memberof GitlabProjectDto
         */
        description?: string;
        /**
         * 
         * @type {string}
         * @memberof GitlabProjectDto
         */
        defaultBranch?: string;
        /**
         * 
         * @type {string}
         * @memberof GitlabProjectDto
         */
        path?: string;
        /**
         * 
         * @type {string}
         * @memberof GitlabProjectDto
         */
        pathWithNamespace?: string;
        /**
         * 
         * @type {string}
         * @memberof GitlabProjectDto
         */
        lastActivityAt?: string;
        /**
         * 
         * @type {string}
         * @memberof GitlabProjectDto
         */
        createdAt?: string;
        /**
         * 
         * @type {string}
         * @memberof GitlabProjectDto
         */
        webUrl?: string;
        /**
         * 
         * @type {string}
         * @memberof GitlabProjectDto
         */
        httpUrlToRepo?: string;
        /**
         * 
         * @type {string}
         * @memberof GitlabProjectDto
         */
        sshUrlToRepo?: string;
    }
    /**
     * 
     * @export
     * @interface GitlabProjectDtoIEnumerableResponse
     */
    export interface GitlabProjectDtoIEnumerableResponse {
        /**
         * 
         * @type {Array<GitlabProjectDto>}
         * @memberof GitlabProjectDtoIEnumerableResponse
         */
        data?: Array<GitlabProjectDto> | null;
        /**
         * 
         * @type {number}
         * @memberof GitlabProjectDtoIEnumerableResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof GitlabProjectDtoIEnumerableResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface GitlabProjectDtoResponse
     */
    export interface GitlabProjectDtoResponse {
        /**
         * 
         * @type {GitlabProjectDto}
         * @memberof GitlabProjectDtoResponse
         */
        data?: GitlabProjectDto;
        /**
         * 
         * @type {number}
         * @memberof GitlabProjectDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof GitlabProjectDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface GitlabResourceTypeOptionsForCreationDto
     */
    export interface GitlabResourceTypeOptionsForCreationDto {
        /**
         * 
         * @type {string}
         * @memberof GitlabResourceTypeOptionsForCreationDto
         */
        branch: string;
        /**
         * 
         * @type {string}
         * @memberof GitlabResourceTypeOptionsForCreationDto
         */
        accessToken: string;
        /**
         * 
         * @type {string}
         * @memberof GitlabResourceTypeOptionsForCreationDto
         */
        repoUrl: string;
        /**
         * 
         * @type {number}
         * @memberof GitlabResourceTypeOptionsForCreationDto
         */
        projectId: number;
        /**
         * 
         * @type {boolean}
         * @memberof GitlabResourceTypeOptionsForCreationDto
         */
        tosAccepted: boolean;
    }
    /**
     * 
     * @export
     * @interface GitlabResourceTypeOptionsForUpdateDto
     */
    export interface GitlabResourceTypeOptionsForUpdateDto {
        /**
         * 
         * @type {string}
         * @memberof GitlabResourceTypeOptionsForUpdateDto
         */
        branch: string;
        /**
         * 
         * @type {string}
         * @memberof GitlabResourceTypeOptionsForUpdateDto
         */
        accessToken: string;
    }
    /**
     * 
     * @export
     * @interface IdentityProviderDto
     */
    export interface IdentityProviderDto {
        /**
         * 
         * @type {string}
         * @memberof IdentityProviderDto
         */
        id?: string;
        /**
         * 
         * @type {string}
         * @memberof IdentityProviderDto
         */
        displayName?: string;
    }
    /**
     * 
     * @export
     * @enum {string}
     */
    
    export enum IdentityProviders {
        Shibboleth = 'Shibboleth',
        OrciD = 'ORCiD'
    }
    
    /**
     * 
     * @export
     * @interface LanguageDto
     */
    export interface LanguageDto {
        /**
         * 
         * @type {string}
         * @memberof LanguageDto
         */
        id?: string;
        /**
         * 
         * @type {string}
         * @memberof LanguageDto
         */
        displayName?: string;
        /**
         * 
         * @type {string}
         * @memberof LanguageDto
         */
        abbreviation?: string;
    }
    /**
     * 
     * @export
     * @interface LanguageDtoIEnumerablePagedResponse
     */
    export interface LanguageDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<LanguageDto>}
         * @memberof LanguageDtoIEnumerablePagedResponse
         */
        data?: Array<LanguageDto> | null;
        /**
         * 
         * @type {number}
         * @memberof LanguageDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof LanguageDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof LanguageDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface LanguageDtoResponse
     */
    export interface LanguageDtoResponse {
        /**
         * 
         * @type {LanguageDto}
         * @memberof LanguageDtoResponse
         */
        data?: LanguageDto;
        /**
         * 
         * @type {number}
         * @memberof LanguageDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof LanguageDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface LanguageForUserManipulationDto
     */
    export interface LanguageForUserManipulationDto {
        /**
         * 
         * @type {string}
         * @memberof LanguageForUserManipulationDto
         */
        id: string;
    }
    /**
     * 
     * @export
     * @interface LicenseDto
     */
    export interface LicenseDto {
        /**
         * 
         * @type {string}
         * @memberof LicenseDto
         */
        id?: string;
        /**
         * 
         * @type {string}
         * @memberof LicenseDto
         */
        displayName?: string;
    }
    /**
     * 
     * @export
     * @interface LicenseDtoIEnumerablePagedResponse
     */
    export interface LicenseDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<LicenseDto>}
         * @memberof LicenseDtoIEnumerablePagedResponse
         */
        data?: Array<LicenseDto> | null;
        /**
         * 
         * @type {number}
         * @memberof LicenseDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof LicenseDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof LicenseDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface LicenseDtoResponse
     */
    export interface LicenseDtoResponse {
        /**
         * 
         * @type {LicenseDto}
         * @memberof LicenseDtoResponse
         */
        data?: LicenseDto;
        /**
         * 
         * @type {number}
         * @memberof LicenseDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof LicenseDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface LicenseForResourceManipulationDto
     */
    export interface LicenseForResourceManipulationDto {
        /**
         * 
         * @type {string}
         * @memberof LicenseForResourceManipulationDto
         */
        id: string;
    }
    /**
     * 
     * @export
     * @interface MaintenanceDto
     */
    export interface MaintenanceDto {
        /**
         * 
         * @type {string}
         * @memberof MaintenanceDto
         */
        displayName?: string;
        /**
         * 
         * @type {string}
         * @memberof MaintenanceDto
         */
        href?: string;
        /**
         * 
         * @type {string}
         * @memberof MaintenanceDto
         */
        type?: string;
        /**
         * 
         * @type {string}
         * @memberof MaintenanceDto
         */
        body?: string;
        /**
         * 
         * @type {string}
         * @memberof MaintenanceDto
         */
        startsDate?: string | null;
        /**
         * 
         * @type {string}
         * @memberof MaintenanceDto
         */
        endsDate?: string | null;
    }
    /**
     * 
     * @export
     * @interface MaintenanceDtoIEnumerablePagedResponse
     */
    export interface MaintenanceDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<MaintenanceDto>}
         * @memberof MaintenanceDtoIEnumerablePagedResponse
         */
        data?: Array<MaintenanceDto> | null;
        /**
         * 
         * @type {number}
         * @memberof MaintenanceDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof MaintenanceDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof MaintenanceDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface MetadataTreeDto
     */
    export interface MetadataTreeDto {
        /**
         * 
         * @type {string}
         * @memberof MetadataTreeDto
         */
        path?: string;
        /**
         * 
         * @type {TreeDataType}
         * @memberof MetadataTreeDto
         */
        type?: TreeDataType;
        /**
         * 
         * @type {string}
         * @memberof MetadataTreeDto
         */
        version?: string;
        /**
         * 
         * @type {Array<string>}
         * @memberof MetadataTreeDto
         */
        availableVersions?: Array<string>;
        /**
         * 
         * @type {RdfDefinitionDto}
         * @memberof MetadataTreeDto
         */
        definition?: RdfDefinitionDto;
    }
    /**
     * 
     * @export
     * @interface MetadataTreeDtoIEnumerablePagedResponse
     */
    export interface MetadataTreeDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<MetadataTreeDto>}
         * @memberof MetadataTreeDtoIEnumerablePagedResponse
         */
        data?: Array<MetadataTreeDto> | null;
        /**
         * 
         * @type {number}
         * @memberof MetadataTreeDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof MetadataTreeDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof MetadataTreeDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface MetadataTreeDtoResponse
     */
    export interface MetadataTreeDtoResponse {
        /**
         * 
         * @type {MetadataTreeDto}
         * @memberof MetadataTreeDtoResponse
         */
        data?: MetadataTreeDto;
        /**
         * 
         * @type {number}
         * @memberof MetadataTreeDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof MetadataTreeDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface MetadataTreeForCreationDto
     */
    export interface MetadataTreeForCreationDto {
        /**
         * 
         * @type {string}
         * @memberof MetadataTreeForCreationDto
         */
        path: string;
        /**
         * 
         * @type {RdfDefinitionForManipulationDto}
         * @memberof MetadataTreeForCreationDto
         */
        definition: RdfDefinitionForManipulationDto;
    }
    /**
     * 
     * @export
     * @interface MetadataTreeForUpdateDto
     */
    export interface MetadataTreeForUpdateDto {
        /**
         * 
         * @type {string}
         * @memberof MetadataTreeForUpdateDto
         */
        path: string;
        /**
         * 
         * @type {RdfDefinitionForManipulationDto}
         * @memberof MetadataTreeForUpdateDto
         */
        definition: RdfDefinitionForManipulationDto;
    }
    /**
     * 
     * @export
     * @interface OrganizationDto
     */
    export interface OrganizationDto {
        /**
         * 
         * @type {string}
         * @memberof OrganizationDto
         */
        uri?: string;
        /**
         * 
         * @type {string}
         * @memberof OrganizationDto
         */
        displayName?: string;
        /**
         * 
         * @type {string}
         * @memberof OrganizationDto
         */
        email?: string | null;
    }
    /**
     * 
     * @export
     * @interface OrganizationDtoIEnumerablePagedResponse
     */
    export interface OrganizationDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<OrganizationDto>}
         * @memberof OrganizationDtoIEnumerablePagedResponse
         */
        data?: Array<OrganizationDto> | null;
        /**
         * 
         * @type {number}
         * @memberof OrganizationDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof OrganizationDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof OrganizationDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface OrganizationDtoResponse
     */
    export interface OrganizationDtoResponse {
        /**
         * 
         * @type {OrganizationDto}
         * @memberof OrganizationDtoResponse
         */
        data?: OrganizationDto;
        /**
         * 
         * @type {number}
         * @memberof OrganizationDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof OrganizationDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface OrganizationForProjectManipulationDto
     */
    export interface OrganizationForProjectManipulationDto {
        /**
         * 
         * @type {string}
         * @memberof OrganizationForProjectManipulationDto
         */
        uri: string;
    }
    /**
     * 
     * @export
     * @interface Pagination
     */
    export interface Pagination {
        /**
         * 
         * @type {number}
         * @memberof Pagination
         */
        currentPage?: number;
        /**
         * 
         * @type {number}
         * @memberof Pagination
         */
        totalPages?: number;
        /**
         * 
         * @type {number}
         * @memberof Pagination
         */
        pageSize?: number;
        /**
         * 
         * @type {number}
         * @memberof Pagination
         */
        totalCount?: number;
        /**
         * 
         * @type {boolean}
         * @memberof Pagination
         */
        hasPrevious?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof Pagination
         */
        hasNext?: boolean;
    }
    /**
     * 
     * @export
     * @interface PidRequestDto
     */
    export interface PidRequestDto {
        /**
         * 
         * @type {string}
         * @memberof PidRequestDto
         */
        name: string;
        /**
         * 
         * @type {string}
         * @memberof PidRequestDto
         */
        email: string;
        /**
         * 
         * @type {string}
         * @memberof PidRequestDto
         */
        message: string;
        /**
         * 
         * @type {boolean}
         * @memberof PidRequestDto
         */
        sendConfirmationEmail?: boolean;
    }
    /**
     * 
     * @export
     * @enum {string}
     */
    
    export enum PidType {
        Project = 'project',
        Resource = 'resource'
    }
    
    /**
     * 
     * @export
     * @interface PidValidationDto
     */
    export interface PidValidationDto {
        /**
         * 
         * @type {boolean}
         * @memberof PidValidationDto
         */
        isValid?: boolean;
        /**
         * 
         * @type {PidType}
         * @memberof PidValidationDto
         */
        type?: PidType;
    }
    /**
     * 
     * @export
     * @interface PidValidationDtoResponse
     */
    export interface PidValidationDtoResponse {
        /**
         * 
         * @type {PidValidationDto}
         * @memberof PidValidationDtoResponse
         */
        data?: PidValidationDto;
        /**
         * 
         * @type {number}
         * @memberof PidValidationDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof PidValidationDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface ProjectDto
     */
    export interface ProjectDto {
        /**
         * 
         * @type {string}
         * @memberof ProjectDto
         */
        id?: string;
        /**
         * 
         * @type {string}
         * @memberof ProjectDto
         */
        pid?: string;
        /**
         * 
         * @type {string}
         * @memberof ProjectDto
         */
        name?: string;
        /**
         * 
         * @type {string}
         * @memberof ProjectDto
         */
        description?: string;
        /**
         * 
         * @type {string}
         * @memberof ProjectDto
         */
        startDate?: string;
        /**
         * 
         * @type {string}
         * @memberof ProjectDto
         */
        endDate?: string;
        /**
         * 
         * @type {Array<string>}
         * @memberof ProjectDto
         */
        keywords?: Array<string> | null;
        /**
         * 
         * @type {string}
         * @memberof ProjectDto
         */
        displayName?: string | null;
        /**
         * 
         * @type {string}
         * @memberof ProjectDto
         */
        principleInvestigators?: string | null;
        /**
         * 
         * @type {string}
         * @memberof ProjectDto
         */
        grantId?: string | null;
        /**
         * 
         * @type {VisibilityDto}
         * @memberof ProjectDto
         */
        visibility?: VisibilityDto;
        /**
         * 
         * @type {Array<DisciplineDto>}
         * @memberof ProjectDto
         */
        disciplines?: Array<DisciplineDto>;
        /**
         * 
         * @type {Array<OrganizationDto>}
         * @memberof ProjectDto
         */
        organizations?: Array<OrganizationDto>;
        /**
         * 
         * @type {string}
         * @memberof ProjectDto
         */
        slug?: string;
        /**
         * 
         * @type {UserMinimalDto}
         * @memberof ProjectDto
         */
        creator?: UserMinimalDto;
        /**
         * 
         * @type {string}
         * @memberof ProjectDto
         */
        creationDate?: string | null;
        /**
         * 
         * @type {Array<ProjectDto>}
         * @memberof ProjectDto
         */
        subProjects?: Array<ProjectDto> | null;
        /**
         * 
         * @type {ProjectMinimalDto}
         * @memberof ProjectDto
         */
        parent?: ProjectMinimalDto;
    }
    /**
     * 
     * @export
     * @interface ProjectDtoIEnumerablePagedResponse
     */
    export interface ProjectDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<ProjectDto>}
         * @memberof ProjectDtoIEnumerablePagedResponse
         */
        data?: Array<ProjectDto> | null;
        /**
         * 
         * @type {number}
         * @memberof ProjectDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof ProjectDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof ProjectDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface ProjectDtoResponse
     */
    export interface ProjectDtoResponse {
        /**
         * 
         * @type {ProjectDto}
         * @memberof ProjectDtoResponse
         */
        data?: ProjectDto;
        /**
         * 
         * @type {number}
         * @memberof ProjectDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof ProjectDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface ProjectForCreationDto
     */
    export interface ProjectForCreationDto {
        /**
         * 
         * @type {string}
         * @memberof ProjectForCreationDto
         */
        name: string;
        /**
         * 
         * @type {string}
         * @memberof ProjectForCreationDto
         */
        description: string;
        /**
         * 
         * @type {string}
         * @memberof ProjectForCreationDto
         */
        startDate?: string;
        /**
         * 
         * @type {string}
         * @memberof ProjectForCreationDto
         */
        endDate?: string;
        /**
         * 
         * @type {Array<string>}
         * @memberof ProjectForCreationDto
         */
        keywords?: Array<string> | null;
        /**
         * 
         * @type {string}
         * @memberof ProjectForCreationDto
         */
        displayName?: string | null;
        /**
         * 
         * @type {string}
         * @memberof ProjectForCreationDto
         */
        principleInvestigators?: string | null;
        /**
         * 
         * @type {string}
         * @memberof ProjectForCreationDto
         */
        grantId?: string | null;
        /**
         * 
         * @type {VisibilityForProjectManipulationDto}
         * @memberof ProjectForCreationDto
         */
        visibility: VisibilityForProjectManipulationDto;
        /**
         * 
         * @type {Array<DisciplineForProjectManipulationDto>}
         * @memberof ProjectForCreationDto
         */
        disciplines: Array<DisciplineForProjectManipulationDto>;
        /**
         * 
         * @type {Array<OrganizationForProjectManipulationDto>}
         * @memberof ProjectForCreationDto
         */
        organizations: Array<OrganizationForProjectManipulationDto>;
        /**
         * 
         * @type {string}
         * @memberof ProjectForCreationDto
         */
        parentId?: string | null;
    }
    /**
     * 
     * @export
     * @interface ProjectForUpdateDto
     */
    export interface ProjectForUpdateDto {
        /**
         * 
         * @type {string}
         * @memberof ProjectForUpdateDto
         */
        name: string;
        /**
         * 
         * @type {string}
         * @memberof ProjectForUpdateDto
         */
        description: string;
        /**
         * 
         * @type {string}
         * @memberof ProjectForUpdateDto
         */
        startDate?: string;
        /**
         * 
         * @type {string}
         * @memberof ProjectForUpdateDto
         */
        endDate?: string;
        /**
         * 
         * @type {Array<string>}
         * @memberof ProjectForUpdateDto
         */
        keywords?: Array<string> | null;
        /**
         * 
         * @type {string}
         * @memberof ProjectForUpdateDto
         */
        displayName?: string | null;
        /**
         * 
         * @type {string}
         * @memberof ProjectForUpdateDto
         */
        principleInvestigators?: string | null;
        /**
         * 
         * @type {string}
         * @memberof ProjectForUpdateDto
         */
        grantId?: string | null;
        /**
         * 
         * @type {VisibilityForProjectManipulationDto}
         * @memberof ProjectForUpdateDto
         */
        visibility: VisibilityForProjectManipulationDto;
        /**
         * 
         * @type {Array<DisciplineForProjectManipulationDto>}
         * @memberof ProjectForUpdateDto
         */
        disciplines: Array<DisciplineForProjectManipulationDto>;
        /**
         * 
         * @type {Array<OrganizationForProjectManipulationDto>}
         * @memberof ProjectForUpdateDto
         */
        organizations: Array<OrganizationForProjectManipulationDto>;
        /**
         * 
         * @type {string}
         * @memberof ProjectForUpdateDto
         */
        slug: string;
    }
    /**
     * 
     * @export
     * @interface ProjectInvitationDto
     */
    export interface ProjectInvitationDto {
        /**
         * 
         * @type {string}
         * @memberof ProjectInvitationDto
         */
        id?: string;
        /**
         * 
         * @type {string}
         * @memberof ProjectInvitationDto
         */
        expirationDate?: string;
        /**
         * 
         * @type {string}
         * @memberof ProjectInvitationDto
         */
        email?: string;
        /**
         * 
         * @type {PublicUserDto}
         * @memberof ProjectInvitationDto
         */
        issuer?: PublicUserDto;
        /**
         * 
         * @type {ProjectMinimalDto}
         * @memberof ProjectInvitationDto
         */
        project?: ProjectMinimalDto;
        /**
         * 
         * @type {RoleMinimalDto}
         * @memberof ProjectInvitationDto
         */
        role?: RoleMinimalDto;
    }
    /**
     * 
     * @export
     * @interface ProjectInvitationDtoIEnumerablePagedResponse
     */
    export interface ProjectInvitationDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<ProjectInvitationDto>}
         * @memberof ProjectInvitationDtoIEnumerablePagedResponse
         */
        data?: Array<ProjectInvitationDto> | null;
        /**
         * 
         * @type {number}
         * @memberof ProjectInvitationDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof ProjectInvitationDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof ProjectInvitationDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface ProjectInvitationDtoResponse
     */
    export interface ProjectInvitationDtoResponse {
        /**
         * 
         * @type {ProjectInvitationDto}
         * @memberof ProjectInvitationDtoResponse
         */
        data?: ProjectInvitationDto;
        /**
         * 
         * @type {number}
         * @memberof ProjectInvitationDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof ProjectInvitationDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface ProjectInvitationForProjectManipulationDto
     */
    export interface ProjectInvitationForProjectManipulationDto {
        /**
         * 
         * @type {string}
         * @memberof ProjectInvitationForProjectManipulationDto
         */
        roleId: string;
        /**
         * 
         * @type {string}
         * @memberof ProjectInvitationForProjectManipulationDto
         */
        email: string;
    }
    /**
     * 
     * @export
     * @interface ProjectInvitationResolveDto
     */
    export interface ProjectInvitationResolveDto {
        /**
         * 
         * @type {string}
         * @memberof ProjectInvitationResolveDto
         */
        token: string;
    }
    /**
     * 
     * @export
     * @interface ProjectMinimalDto
     */
    export interface ProjectMinimalDto {
        /**
         * 
         * @type {string}
         * @memberof ProjectMinimalDto
         */
        id?: string;
    }
    /**
     * 
     * @export
     * @interface ProjectQuotaDto
     */
    export interface ProjectQuotaDto {
        /**
         * 
         * @type {string}
         * @memberof ProjectQuotaDto
         */
        projectId?: string;
        /**
         * 
         * @type {ResourceTypeMinimalDto}
         * @memberof ProjectQuotaDto
         */
        resourceType?: ResourceTypeMinimalDto;
        /**
         * 
         * @type {QuotaDto}
         * @memberof ProjectQuotaDto
         */
        totalReserved?: QuotaDto;
        /**
         * 
         * @type {QuotaDto}
         * @memberof ProjectQuotaDto
         */
        allocated?: QuotaDto;
        /**
         * 
         * @type {QuotaDto}
         * @memberof ProjectQuotaDto
         */
        maximum?: QuotaDto;
        /**
         * 
         * @type {Array<ResourceQuotaDto>}
         * @memberof ProjectQuotaDto
         */
        resourceQuotas?: Array<ResourceQuotaDto> | null;
    }
    /**
     * 
     * @export
     * @interface ProjectQuotaDtoIEnumerablePagedResponse
     */
    export interface ProjectQuotaDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<ProjectQuotaDto>}
         * @memberof ProjectQuotaDtoIEnumerablePagedResponse
         */
        data?: Array<ProjectQuotaDto> | null;
        /**
         * 
         * @type {number}
         * @memberof ProjectQuotaDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof ProjectQuotaDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof ProjectQuotaDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface ProjectQuotaDtoResponse
     */
    export interface ProjectQuotaDtoResponse {
        /**
         * 
         * @type {ProjectQuotaDto}
         * @memberof ProjectQuotaDtoResponse
         */
        data?: ProjectQuotaDto;
        /**
         * 
         * @type {number}
         * @memberof ProjectQuotaDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof ProjectQuotaDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface ProjectQuotaForUpdateDto
     */
    export interface ProjectQuotaForUpdateDto {
        /**
         * 
         * @type {QuotaForManipulationDto}
         * @memberof ProjectQuotaForUpdateDto
         */
        allocated: QuotaForManipulationDto;
    }
    /**
     * 
     * @export
     * @interface ProjectRoleDto
     */
    export interface ProjectRoleDto {
        /**
         * 
         * @type {string}
         * @memberof ProjectRoleDto
         */
        id?: string;
        /**
         * 
         * @type {ProjectMinimalDto}
         * @memberof ProjectRoleDto
         */
        project?: ProjectMinimalDto;
        /**
         * 
         * @type {RoleDto}
         * @memberof ProjectRoleDto
         */
        role?: RoleDto;
        /**
         * 
         * @type {PublicUserDto}
         * @memberof ProjectRoleDto
         */
        user?: PublicUserDto;
    }
    /**
     * 
     * @export
     * @interface ProjectRoleDtoIEnumerablePagedResponse
     */
    export interface ProjectRoleDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<ProjectRoleDto>}
         * @memberof ProjectRoleDtoIEnumerablePagedResponse
         */
        data?: Array<ProjectRoleDto> | null;
        /**
         * 
         * @type {number}
         * @memberof ProjectRoleDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof ProjectRoleDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof ProjectRoleDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface ProjectRoleDtoResponse
     */
    export interface ProjectRoleDtoResponse {
        /**
         * 
         * @type {ProjectRoleDto}
         * @memberof ProjectRoleDtoResponse
         */
        data?: ProjectRoleDto;
        /**
         * 
         * @type {number}
         * @memberof ProjectRoleDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof ProjectRoleDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface ProjectRoleForProjectCreationDto
     */
    export interface ProjectRoleForProjectCreationDto {
        /**
         * 
         * @type {string}
         * @memberof ProjectRoleForProjectCreationDto
         */
        roleId: string;
        /**
         * 
         * @type {string}
         * @memberof ProjectRoleForProjectCreationDto
         */
        userId: string;
    }
    /**
     * 
     * @export
     * @interface ProjectRoleForProjectManipulationDto
     */
    export interface ProjectRoleForProjectManipulationDto {
        /**
         * 
         * @type {string}
         * @memberof ProjectRoleForProjectManipulationDto
         */
        roleId: string;
    }
    /**
     * 
     * @export
     * @interface PublicUserDto
     */
    export interface PublicUserDto {
        /**
         * 
         * @type {string}
         * @memberof PublicUserDto
         */
        id?: string;
        /**
         * 
         * @type {string}
         * @memberof PublicUserDto
         */
        displayName?: string;
        /**
         * 
         * @type {string}
         * @memberof PublicUserDto
         */
        givenName?: string;
        /**
         * 
         * @type {string}
         * @memberof PublicUserDto
         */
        familyName?: string;
        /**
         * 
         * @type {string}
         * @memberof PublicUserDto
         */
        email?: string;
        /**
         * 
         * @type {TitleDto}
         * @memberof PublicUserDto
         */
        title?: TitleDto;
    }
    /**
     * 
     * @export
     * @interface PublicUserDtoIEnumerableResponse
     */
    export interface PublicUserDtoIEnumerableResponse {
        /**
         * 
         * @type {Array<PublicUserDto>}
         * @memberof PublicUserDtoIEnumerableResponse
         */
        data?: Array<PublicUserDto> | null;
        /**
         * 
         * @type {number}
         * @memberof PublicUserDtoIEnumerableResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof PublicUserDtoIEnumerableResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface QuotaDto
     */
    export interface QuotaDto {
        /**
         * 
         * @type {number}
         * @memberof QuotaDto
         */
        value: number;
        /**
         * 
         * @type {QuotaUnit}
         * @memberof QuotaDto
         */
        unit: QuotaUnit;
    }
    /**
     * 
     * @export
     * @interface QuotaForManipulationDto
     */
    export interface QuotaForManipulationDto {
        /**
         * 
         * @type {number}
         * @memberof QuotaForManipulationDto
         */
        value: number;
        /**
         * 
         * @type {QuotaUnit}
         * @memberof QuotaForManipulationDto
         */
        unit: QuotaUnit;
    }
    /**
     * 
     * @export
     * @enum {string}
     */
    
    export enum QuotaUnit {
        Byte = 'https://qudt.org/vocab/unit/BYTE',
        KibiByte = 'https://qudt.org/vocab/unit/KibiBYTE',
        MebiByte = 'https://qudt.org/vocab/unit/MebiBYTE',
        GibiByte = 'https://qudt.org/vocab/unit/GibiBYTE',
        TebiByte = 'https://qudt.org/vocab/unit/TebiBYTE',
        PebiByte = 'https://qudt.org/vocab/unit/PebiBYTE'
    }
    
    /**
     * 
     * @export
     * @interface RdfDefinitionDto
     */
    export interface RdfDefinitionDto {
        /**
         * 
         * @type {string}
         * @memberof RdfDefinitionDto
         */
        content?: string | null;
        /**
         * 
         * @type {string}
         * @memberof RdfDefinitionDto
         */
        type?: string | null;
    }
    /**
     * 
     * @export
     * @interface RdfDefinitionForManipulationDto
     */
    export interface RdfDefinitionForManipulationDto {
        /**
         * 
         * @type {string}
         * @memberof RdfDefinitionForManipulationDto
         */
        content: string;
        /**
         * 
         * @type {RdfFormat}
         * @memberof RdfDefinitionForManipulationDto
         */
        type: RdfFormat;
    }
    /**
     * 
     * @export
     * @enum {string}
     */
    
    export enum RdfFormat {
        TextTurtle = 'text/turtle',
        ApplicationLdjson = 'application/ld+json'
    }
    
    /**
     * 
     * @export
     * @interface RdsOptionsDto
     */
    export interface RdsOptionsDto {
        /**
         * 
         * @type {string}
         * @memberof RdsOptionsDto
         */
        bucketName?: string;
        /**
         * 
         * @type {QuotaDto}
         * @memberof RdsOptionsDto
         */
        size?: QuotaDto;
    }
    /**
     * 
     * @export
     * @interface RdsResourceTypeOptionsForManipulationDto
     */
    export interface RdsResourceTypeOptionsForManipulationDto {
        /**
         * 
         * @type {QuotaForManipulationDto}
         * @memberof RdsResourceTypeOptionsForManipulationDto
         */
        quota?: QuotaForManipulationDto;
    }
    /**
     * 
     * @export
     * @interface RdsS3OptionsDto
     */
    export interface RdsS3OptionsDto {
        /**
         * 
         * @type {string}
         * @memberof RdsS3OptionsDto
         */
        bucketName?: string;
        /**
         * 
         * @type {string}
         * @memberof RdsS3OptionsDto
         */
        accessKeyRead?: string;
        /**
         * 
         * @type {string}
         * @memberof RdsS3OptionsDto
         */
        secretKeyRead?: string;
        /**
         * 
         * @type {string}
         * @memberof RdsS3OptionsDto
         */
        accessKeyWrite?: string;
        /**
         * 
         * @type {string}
         * @memberof RdsS3OptionsDto
         */
        secretKeyWrite?: string;
        /**
         * 
         * @type {string}
         * @memberof RdsS3OptionsDto
         */
        endpoint?: string;
        /**
         * 
         * @type {QuotaDto}
         * @memberof RdsS3OptionsDto
         */
        size?: QuotaDto;
    }
    /**
     * 
     * @export
     * @interface RdsS3ResourceTypeOptionsForManipulationDto
     */
    export interface RdsS3ResourceTypeOptionsForManipulationDto {
        /**
         * 
         * @type {QuotaForManipulationDto}
         * @memberof RdsS3ResourceTypeOptionsForManipulationDto
         */
        quota?: QuotaForManipulationDto;
    }
    /**
     * 
     * @export
     * @interface RdsS3WormOptionsDto
     */
    export interface RdsS3WormOptionsDto {
        /**
         * 
         * @type {string}
         * @memberof RdsS3WormOptionsDto
         */
        bucketName?: string;
        /**
         * 
         * @type {string}
         * @memberof RdsS3WormOptionsDto
         */
        accessKeyRead?: string;
        /**
         * 
         * @type {string}
         * @memberof RdsS3WormOptionsDto
         */
        secretKeyRead?: string;
        /**
         * 
         * @type {string}
         * @memberof RdsS3WormOptionsDto
         */
        accessKeyWrite?: string;
        /**
         * 
         * @type {string}
         * @memberof RdsS3WormOptionsDto
         */
        secretKeyWrite?: string;
        /**
         * 
         * @type {string}
         * @memberof RdsS3WormOptionsDto
         */
        endpoint?: string;
        /**
         * 
         * @type {QuotaDto}
         * @memberof RdsS3WormOptionsDto
         */
        size?: QuotaDto;
    }
    /**
     * 
     * @export
     * @interface RdsS3WormResourceTypeOptionsForManipulationDto
     */
    export interface RdsS3WormResourceTypeOptionsForManipulationDto {
        /**
         * 
         * @type {QuotaForManipulationDto}
         * @memberof RdsS3WormResourceTypeOptionsForManipulationDto
         */
        quota?: QuotaForManipulationDto;
    }
    /**
     * 
     * @export
     * @interface ResourceContentPageColumnsDto
     */
    export interface ResourceContentPageColumnsDto {
        /**
         * 
         * @type {Set<string>}
         * @memberof ResourceContentPageColumnsDto
         */
        always?: Set<string>;
    }
    /**
     * 
     * @export
     * @interface ResourceContentPageDto
     */
    export interface ResourceContentPageDto {
        /**
         * 
         * @type {boolean}
         * @memberof ResourceContentPageDto
         */
        readOnly?: boolean;
        /**
         * 
         * @type {ResourceContentPageMetadataViewDto}
         * @memberof ResourceContentPageDto
         */
        metadataView?: ResourceContentPageMetadataViewDto;
        /**
         * 
         * @type {ResourceContentPageEntriesViewDto}
         * @memberof ResourceContentPageDto
         */
        entriesView?: ResourceContentPageEntriesViewDto;
    }
    /**
     * 
     * @export
     * @interface ResourceContentPageEntriesViewDto
     */
    export interface ResourceContentPageEntriesViewDto {
        /**
         * 
         * @type {ResourceContentPageColumnsDto}
         * @memberof ResourceContentPageEntriesViewDto
         */
        columns?: ResourceContentPageColumnsDto;
    }
    /**
     * 
     * @export
     * @interface ResourceContentPageMetadataViewDto
     */
    export interface ResourceContentPageMetadataViewDto {
        /**
         * 
         * @type {boolean}
         * @memberof ResourceContentPageMetadataViewDto
         */
        editableDataUrl?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceContentPageMetadataViewDto
         */
        editableKey?: boolean;
    }
    /**
     * 
     * @export
     * @interface ResourceCreationPageDto
     */
    export interface ResourceCreationPageDto {
        /**
         * 
         * @type {Array<Array<string>>}
         * @memberof ResourceCreationPageDto
         */
        components?: Array<Array<string>>;
    }
    /**
     * 
     * @export
     * @interface ResourceDto
     */
    export interface ResourceDto {
        /**
         * 
         * @type {string}
         * @memberof ResourceDto
         */
        id?: string;
        /**
         * 
         * @type {string}
         * @memberof ResourceDto
         */
        pid?: string;
        /**
         * 
         * @type {ResourceTypeDto}
         * @memberof ResourceDto
         */
        type?: ResourceTypeDto;
        /**
         * 
         * @type {string}
         * @memberof ResourceDto
         */
        name?: string;
        /**
         * 
         * @type {string}
         * @memberof ResourceDto
         */
        displayName?: string;
        /**
         * 
         * @type {string}
         * @memberof ResourceDto
         */
        description?: string;
        /**
         * 
         * @type {Array<string>}
         * @memberof ResourceDto
         */
        keywords?: Array<string> | null;
        /**
         * 
         * @type {LicenseDto}
         * @memberof ResourceDto
         */
        license?: LicenseDto;
        /**
         * 
         * @type {string}
         * @memberof ResourceDto
         */
        usageRights?: string | null;
        /**
         * 
         * @type {ApplicationProfileMinimalDto}
         * @memberof ResourceDto
         */
        applicationProfile?: ApplicationProfileMinimalDto;
        /**
         * 
         * @type {{ [key: string]: { [key: string]: Array<FixedValueForResourceManipulationDto>; }; }}
         * @memberof ResourceDto
         */
        fixedValues?: { [key: string]: { [key: string]: Array<FixedValueForResourceManipulationDto>; }; };
        /**
         * 
         * @type {Array<DisciplineDto>}
         * @memberof ResourceDto
         */
        disciplines?: Array<DisciplineDto>;
        /**
         * 
         * @type {VisibilityDto}
         * @memberof ResourceDto
         */
        visibility?: VisibilityDto;
        /**
         * 
         * @type {string}
         * @memberof ResourceDto
         */
        dateCreated?: string | null;
        /**
         * 
         * @type {string}
         * @memberof ResourceDto
         */
        creator?: string | null;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceDto
         */
        archived?: boolean;
    }
    /**
     * 
     * @export
     * @interface ResourceDtoIEnumerablePagedResponse
     */
    export interface ResourceDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<ResourceDto>}
         * @memberof ResourceDtoIEnumerablePagedResponse
         */
        data?: Array<ResourceDto> | null;
        /**
         * 
         * @type {number}
         * @memberof ResourceDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof ResourceDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface ResourceDtoResponse
     */
    export interface ResourceDtoResponse {
        /**
         * 
         * @type {ResourceDto}
         * @memberof ResourceDtoResponse
         */
        data?: ResourceDto;
        /**
         * 
         * @type {number}
         * @memberof ResourceDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface ResourceForCreationDto
     */
    export interface ResourceForCreationDto {
        /**
         * 
         * @type {string}
         * @memberof ResourceForCreationDto
         */
        name: string;
        /**
         * 
         * @type {string}
         * @memberof ResourceForCreationDto
         */
        displayName?: string | null;
        /**
         * 
         * @type {string}
         * @memberof ResourceForCreationDto
         */
        description: string;
        /**
         * 
         * @type {Array<string>}
         * @memberof ResourceForCreationDto
         */
        keywords?: Array<string> | null;
        /**
         * 
         * @type {{ [key: string]: { [key: string]: Array<FixedValueForResourceManipulationDto>; }; }}
         * @memberof ResourceForCreationDto
         */
        fixedValues?: { [key: string]: { [key: string]: Array<FixedValueForResourceManipulationDto>; }; } | null;
        /**
         * 
         * @type {LicenseForResourceManipulationDto}
         * @memberof ResourceForCreationDto
         */
        license?: LicenseForResourceManipulationDto;
        /**
         * 
         * @type {string}
         * @memberof ResourceForCreationDto
         */
        usageNote?: string | null;
        /**
         * 
         * @type {VisibilityForResourceManipulationDto}
         * @memberof ResourceForCreationDto
         */
        visibility: VisibilityForResourceManipulationDto;
        /**
         * 
         * @type {Array<DisciplineForResourceManipulationDto>}
         * @memberof ResourceForCreationDto
         */
        disciplines: Array<DisciplineForResourceManipulationDto>;
        /**
         * 
         * @type {string}
         * @memberof ResourceForCreationDto
         */
        resourceTypeId: string;
        /**
         * 
         * @type {ApplicationProfileForResourceCreationDto}
         * @memberof ResourceForCreationDto
         */
        applicationProfile: ApplicationProfileForResourceCreationDto;
        /**
         * 
         * @type {ResourceTypeOptionsForCreationDto}
         * @memberof ResourceForCreationDto
         */
        resourceTypeOptions: ResourceTypeOptionsForCreationDto;
    }
    /**
     * 
     * @export
     * @interface ResourceForUpdateDto
     */
    export interface ResourceForUpdateDto {
        /**
         * 
         * @type {string}
         * @memberof ResourceForUpdateDto
         */
        name: string;
        /**
         * 
         * @type {string}
         * @memberof ResourceForUpdateDto
         */
        displayName?: string | null;
        /**
         * 
         * @type {string}
         * @memberof ResourceForUpdateDto
         */
        description: string;
        /**
         * 
         * @type {Array<string>}
         * @memberof ResourceForUpdateDto
         */
        keywords?: Array<string> | null;
        /**
         * 
         * @type {{ [key: string]: { [key: string]: Array<FixedValueForResourceManipulationDto>; }; }}
         * @memberof ResourceForUpdateDto
         */
        fixedValues?: { [key: string]: { [key: string]: Array<FixedValueForResourceManipulationDto>; }; } | null;
        /**
         * 
         * @type {LicenseForResourceManipulationDto}
         * @memberof ResourceForUpdateDto
         */
        license?: LicenseForResourceManipulationDto;
        /**
         * 
         * @type {string}
         * @memberof ResourceForUpdateDto
         */
        usageNote?: string | null;
        /**
         * 
         * @type {VisibilityForResourceManipulationDto}
         * @memberof ResourceForUpdateDto
         */
        visibility: VisibilityForResourceManipulationDto;
        /**
         * 
         * @type {Array<DisciplineForResourceManipulationDto>}
         * @memberof ResourceForUpdateDto
         */
        disciplines: Array<DisciplineForResourceManipulationDto>;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceForUpdateDto
         */
        archived: boolean;
        /**
         * 
         * @type {ResourceTypeOptionsForUpdateDto}
         * @memberof ResourceForUpdateDto
         */
        resourceTypeOptions?: ResourceTypeOptionsForUpdateDto;
    }
    /**
     * 
     * @export
     * @interface ResourceMinimalDto
     */
    export interface ResourceMinimalDto {
        /**
         * 
         * @type {string}
         * @memberof ResourceMinimalDto
         */
        id?: string;
    }
    /**
     * 
     * @export
     * @interface ResourceQuotaDto
     */
    export interface ResourceQuotaDto {
        /**
         * 
         * @type {ResourceMinimalDto}
         * @memberof ResourceQuotaDto
         */
        resource?: ResourceMinimalDto;
        /**
         * 
         * @type {QuotaDto}
         * @memberof ResourceQuotaDto
         */
        used?: QuotaDto;
        /**
         * 
         * @type {number}
         * @memberof ResourceQuotaDto
         */
        usedPercentage?: number | null;
        /**
         * 
         * @type {QuotaDto}
         * @memberof ResourceQuotaDto
         */
        reserved?: QuotaDto;
    }
    /**
     * 
     * @export
     * @interface ResourceQuotaDtoResponse
     */
    export interface ResourceQuotaDtoResponse {
        /**
         * 
         * @type {ResourceQuotaDto}
         * @memberof ResourceQuotaDtoResponse
         */
        data?: ResourceQuotaDto;
        /**
         * 
         * @type {number}
         * @memberof ResourceQuotaDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceQuotaDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface ResourceTypeDto
     */
    export interface ResourceTypeDto {
        /**
         * 
         * @type {string}
         * @memberof ResourceTypeDto
         */
        id?: string;
        /**
         * 
         * @type {string}
         * @memberof ResourceTypeDto
         */
        generalType?: string;
        /**
         * 
         * @type {string}
         * @memberof ResourceTypeDto
         */
        specificType?: string;
        /**
         * 
         * @type {ResourceTypeOptionsDto}
         * @memberof ResourceTypeDto
         */
        options?: ResourceTypeOptionsDto;
    }
    /**
     * 
     * @export
     * @interface ResourceTypeInformationDto
     */
    export interface ResourceTypeInformationDto {
        /**
         * 
         * @type {string}
         * @memberof ResourceTypeInformationDto
         */
        id?: string;
        /**
         * 
         * @type {string}
         * @memberof ResourceTypeInformationDto
         */
        generalType?: string | null;
        /**
         * 
         * @type {string}
         * @memberof ResourceTypeInformationDto
         */
        specificType?: string | null;
        /**
         * 
         * @type {ResourceTypeStatus}
         * @memberof ResourceTypeInformationDto
         */
        status?: ResourceTypeStatus;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceTypeInformationDto
         */
        canCreate?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceTypeInformationDto
         */
        canRead?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceTypeInformationDto
         */
        canSetResourceReadonly?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceTypeInformationDto
         */
        canUpdate?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceTypeInformationDto
         */
        canUpdateResource?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceTypeInformationDto
         */
        canDelete?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceTypeInformationDto
         */
        canDeleteResource?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceTypeInformationDto
         */
        canList?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceTypeInformationDto
         */
        canCreateLinks?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceTypeInformationDto
         */
        isArchived?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceTypeInformationDto
         */
        isQuotaAvailable?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceTypeInformationDto
         */
        isQuotaAdjustable?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceTypeInformationDto
         */
        isEnabled?: boolean;
        /**
         * 
         * @type {ResourceCreationPageDto}
         * @memberof ResourceTypeInformationDto
         */
        resourceCreation?: ResourceCreationPageDto;
        /**
         * 
         * @type {ResourceContentPageDto}
         * @memberof ResourceTypeInformationDto
         */
        resourceContent?: ResourceContentPageDto;
    }
    /**
     * 
     * @export
     * @interface ResourceTypeInformationDtoIEnumerableResponse
     */
    export interface ResourceTypeInformationDtoIEnumerableResponse {
        /**
         * 
         * @type {Array<ResourceTypeInformationDto>}
         * @memberof ResourceTypeInformationDtoIEnumerableResponse
         */
        data?: Array<ResourceTypeInformationDto> | null;
        /**
         * 
         * @type {number}
         * @memberof ResourceTypeInformationDtoIEnumerableResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceTypeInformationDtoIEnumerableResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface ResourceTypeInformationDtoResponse
     */
    export interface ResourceTypeInformationDtoResponse {
        /**
         * 
         * @type {ResourceTypeInformationDto}
         * @memberof ResourceTypeInformationDtoResponse
         */
        data?: ResourceTypeInformationDto;
        /**
         * 
         * @type {number}
         * @memberof ResourceTypeInformationDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof ResourceTypeInformationDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface ResourceTypeMinimalDto
     */
    export interface ResourceTypeMinimalDto {
        /**
         * 
         * @type {string}
         * @memberof ResourceTypeMinimalDto
         */
        id?: string;
        /**
         * 
         * @type {string}
         * @memberof ResourceTypeMinimalDto
         */
        specificType?: string;
    }
    /**
     * 
     * @export
     * @interface ResourceTypeOptionsDto
     */
    export interface ResourceTypeOptionsDto {
        /**
         * 
         * @type {object}
         * @memberof ResourceTypeOptionsDto
         */
        linkedData?: object;
        /**
         * 
         * @type {GitLabOptionsDto}
         * @memberof ResourceTypeOptionsDto
         */
        gitLab?: GitLabOptionsDto;
        /**
         * 
         * @type {RdsOptionsDto}
         * @memberof ResourceTypeOptionsDto
         */
        rds?: RdsOptionsDto;
        /**
         * 
         * @type {RdsS3OptionsDto}
         * @memberof ResourceTypeOptionsDto
         */
        rdsS3?: RdsS3OptionsDto;
        /**
         * 
         * @type {RdsS3WormOptionsDto}
         * @memberof ResourceTypeOptionsDto
         */
        rdsS3Worm?: RdsS3WormOptionsDto;
    }
    /**
     * 
     * @export
     * @interface ResourceTypeOptionsForCreationDto
     */
    export interface ResourceTypeOptionsForCreationDto {
        /**
         * 
         * @type {object}
         * @memberof ResourceTypeOptionsForCreationDto
         */
        linkedResourceTypeOptions?: object;
        /**
         * 
         * @type {GitlabResourceTypeOptionsForCreationDto}
         * @memberof ResourceTypeOptionsForCreationDto
         */
        gitlabResourceTypeOptions?: GitlabResourceTypeOptionsForCreationDto;
        /**
         * 
         * @type {RdsResourceTypeOptionsForManipulationDto}
         * @memberof ResourceTypeOptionsForCreationDto
         */
        rdsResourceTypeOptions?: RdsResourceTypeOptionsForManipulationDto;
        /**
         * 
         * @type {RdsS3ResourceTypeOptionsForManipulationDto}
         * @memberof ResourceTypeOptionsForCreationDto
         */
        rdsS3ResourceTypeOptions?: RdsS3ResourceTypeOptionsForManipulationDto;
        /**
         * 
         * @type {RdsS3WormResourceTypeOptionsForManipulationDto}
         * @memberof ResourceTypeOptionsForCreationDto
         */
        rdsS3WormResourceTypeOptions?: RdsS3WormResourceTypeOptionsForManipulationDto;
    }
    /**
     * 
     * @export
     * @interface ResourceTypeOptionsForUpdateDto
     */
    export interface ResourceTypeOptionsForUpdateDto {
        /**
         * 
         * @type {object}
         * @memberof ResourceTypeOptionsForUpdateDto
         */
        linkedResourceTypeOptions?: object;
        /**
         * 
         * @type {GitlabResourceTypeOptionsForUpdateDto}
         * @memberof ResourceTypeOptionsForUpdateDto
         */
        gitlabResourceTypeOptions?: GitlabResourceTypeOptionsForUpdateDto;
        /**
         * 
         * @type {RdsResourceTypeOptionsForManipulationDto}
         * @memberof ResourceTypeOptionsForUpdateDto
         */
        rdsResourceTypeOptions?: RdsResourceTypeOptionsForManipulationDto;
        /**
         * 
         * @type {RdsS3ResourceTypeOptionsForManipulationDto}
         * @memberof ResourceTypeOptionsForUpdateDto
         */
        rdsS3ResourceTypeOptions?: RdsS3ResourceTypeOptionsForManipulationDto;
        /**
         * 
         * @type {RdsS3WormResourceTypeOptionsForManipulationDto}
         * @memberof ResourceTypeOptionsForUpdateDto
         */
        rdsS3WormResourceTypeOptions?: RdsS3WormResourceTypeOptionsForManipulationDto;
    }
    /**
     * 
     * @export
     * @enum {string}
     */
    
    export enum ResourceTypeStatus {
        Hidden = 'hidden',
        Active = 'active'
    }
    
    /**
     * 
     * @export
     * @interface RoleDto
     */
    export interface RoleDto {
        /**
         * 
         * @type {string}
         * @memberof RoleDto
         */
        id?: string;
        /**
         * 
         * @type {string}
         * @memberof RoleDto
         */
        displayName?: string;
        /**
         * 
         * @type {string}
         * @memberof RoleDto
         */
        description?: string;
    }
    /**
     * 
     * @export
     * @interface RoleDtoIEnumerablePagedResponse
     */
    export interface RoleDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<RoleDto>}
         * @memberof RoleDtoIEnumerablePagedResponse
         */
        data?: Array<RoleDto> | null;
        /**
         * 
         * @type {number}
         * @memberof RoleDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof RoleDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof RoleDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface RoleDtoResponse
     */
    export interface RoleDtoResponse {
        /**
         * 
         * @type {RoleDto}
         * @memberof RoleDtoResponse
         */
        data?: RoleDto;
        /**
         * 
         * @type {number}
         * @memberof RoleDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof RoleDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface RoleMinimalDto
     */
    export interface RoleMinimalDto {
        /**
         * 
         * @type {string}
         * @memberof RoleMinimalDto
         */
        id?: string;
    }
    /**
     * 
     * @export
     * @interface TermsOfServiceDto
     */
    export interface TermsOfServiceDto {
        /**
         * 
         * @type {string}
         * @memberof TermsOfServiceDto
         */
        version?: string;
        /**
         * 
         * @type {boolean}
         * @memberof TermsOfServiceDto
         */
        isCurrent?: boolean;
    }
    /**
     * 
     * @export
     * @interface TermsOfServiceDtoResponse
     */
    export interface TermsOfServiceDtoResponse {
        /**
         * 
         * @type {TermsOfServiceDto}
         * @memberof TermsOfServiceDtoResponse
         */
        data?: TermsOfServiceDto;
        /**
         * 
         * @type {number}
         * @memberof TermsOfServiceDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof TermsOfServiceDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface TitleDto
     */
    export interface TitleDto {
        /**
         * 
         * @type {string}
         * @memberof TitleDto
         */
        id?: string;
        /**
         * 
         * @type {string}
         * @memberof TitleDto
         */
        displayName?: string;
    }
    /**
     * 
     * @export
     * @interface TitleDtoIEnumerablePagedResponse
     */
    export interface TitleDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<TitleDto>}
         * @memberof TitleDtoIEnumerablePagedResponse
         */
        data?: Array<TitleDto> | null;
        /**
         * 
         * @type {number}
         * @memberof TitleDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof TitleDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof TitleDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface TitleDtoResponse
     */
    export interface TitleDtoResponse {
        /**
         * 
         * @type {TitleDto}
         * @memberof TitleDtoResponse
         */
        data?: TitleDto;
        /**
         * 
         * @type {number}
         * @memberof TitleDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof TitleDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface TitleForUserManipulationDto
     */
    export interface TitleForUserManipulationDto {
        /**
         * 
         * @type {string}
         * @memberof TitleForUserManipulationDto
         */
        id: string;
    }
    /**
     * 
     * @export
     * @enum {string}
     */
    
    export enum TreeDataType {
        Tree = 'Tree',
        Leaf = 'Leaf'
    }
    
    /**
     * 
     * @export
     * @interface UserDto
     */
    export interface UserDto {
        /**
         * 
         * @type {string}
         * @memberof UserDto
         */
        id?: string;
        /**
         * 
         * @type {string}
         * @memberof UserDto
         */
        displayName?: string;
        /**
         * 
         * @type {string}
         * @memberof UserDto
         */
        givenName?: string;
        /**
         * 
         * @type {string}
         * @memberof UserDto
         */
        familyName?: string;
        /**
         * 
         * @type {Array<UserEmailDto>}
         * @memberof UserDto
         */
        emails?: Array<UserEmailDto>;
        /**
         * 
         * @type {TitleDto}
         * @memberof UserDto
         */
        title?: TitleDto;
        /**
         * 
         * @type {LanguageDto}
         * @memberof UserDto
         */
        language?: LanguageDto;
        /**
         * 
         * @type {boolean}
         * @memberof UserDto
         */
        isEmailConfirmed?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof UserDto
         */
        areToSAccepted?: boolean;
        /**
         * 
         * @type {Array<DisciplineDto>}
         * @memberof UserDto
         */
        disciplines?: Array<DisciplineDto>;
        /**
         * 
         * @type {Array<UserOrganizationDto>}
         * @memberof UserDto
         */
        organizations?: Array<UserOrganizationDto>;
        /**
         * 
         * @type {Array<UserInstituteDto>}
         * @memberof UserDto
         */
        institutes?: Array<UserInstituteDto>;
        /**
         * 
         * @type {Array<IdentityProviderDto>}
         * @memberof UserDto
         */
        identities?: Array<IdentityProviderDto>;
    }
    /**
     * 
     * @export
     * @interface UserDtoResponse
     */
    export interface UserDtoResponse {
        /**
         * 
         * @type {UserDto}
         * @memberof UserDtoResponse
         */
        data?: UserDto;
        /**
         * 
         * @type {number}
         * @memberof UserDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof UserDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface UserEmailDto
     */
    export interface UserEmailDto {
        /**
         * 
         * @type {string}
         * @memberof UserEmailDto
         */
        email?: string;
        /**
         * 
         * @type {boolean}
         * @memberof UserEmailDto
         */
        isConfirmed?: boolean;
        /**
         * 
         * @type {boolean}
         * @memberof UserEmailDto
         */
        isPrimary?: boolean;
    }
    /**
     * 
     * @export
     * @interface UserForUpdateDto
     */
    export interface UserForUpdateDto {
        /**
         * 
         * @type {string}
         * @memberof UserForUpdateDto
         */
        givenName: string;
        /**
         * 
         * @type {string}
         * @memberof UserForUpdateDto
         */
        familyName: string;
        /**
         * 
         * @type {string}
         * @memberof UserForUpdateDto
         */
        email: string;
        /**
         * 
         * @type {TitleForUserManipulationDto}
         * @memberof UserForUpdateDto
         */
        title?: TitleForUserManipulationDto;
        /**
         * 
         * @type {LanguageForUserManipulationDto}
         * @memberof UserForUpdateDto
         */
        language: LanguageForUserManipulationDto;
        /**
         * 
         * @type {string}
         * @memberof UserForUpdateDto
         */
        organization?: string | null;
        /**
         * 
         * @type {string}
         * @memberof UserForUpdateDto
         */
        institute?: string | null;
        /**
         * 
         * @type {Array<DisciplineForUserManipulationDto>}
         * @memberof UserForUpdateDto
         */
        disciplines: Array<DisciplineForUserManipulationDto>;
    }
    /**
     * 
     * @export
     * @interface UserInstituteDto
     */
    export interface UserInstituteDto {
        /**
         * 
         * @type {string}
         * @memberof UserInstituteDto
         */
        uri?: string;
        /**
         * 
         * @type {string}
         * @memberof UserInstituteDto
         */
        displayName?: string;
        /**
         * 
         * @type {string}
         * @memberof UserInstituteDto
         */
        email?: string | null;
        /**
         * 
         * @type {boolean}
         * @memberof UserInstituteDto
         */
        readOnly?: boolean;
    }
    /**
     * 
     * @export
     * @interface UserMergeDto
     */
    export interface UserMergeDto {
        /**
         * 
         * @type {string}
         * @memberof UserMergeDto
         */
        token?: string;
    }
    /**
     * 
     * @export
     * @interface UserMergeDtoResponse
     */
    export interface UserMergeDtoResponse {
        /**
         * 
         * @type {UserMergeDto}
         * @memberof UserMergeDtoResponse
         */
        data?: UserMergeDto;
        /**
         * 
         * @type {number}
         * @memberof UserMergeDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof UserMergeDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface UserMinimalDto
     */
    export interface UserMinimalDto {
        /**
         * 
         * @type {string}
         * @memberof UserMinimalDto
         */
        id?: string;
    }
    /**
     * 
     * @export
     * @interface UserOrganizationDto
     */
    export interface UserOrganizationDto {
        /**
         * 
         * @type {string}
         * @memberof UserOrganizationDto
         */
        uri?: string;
        /**
         * 
         * @type {string}
         * @memberof UserOrganizationDto
         */
        displayName?: string;
        /**
         * 
         * @type {string}
         * @memberof UserOrganizationDto
         */
        email?: string | null;
        /**
         * 
         * @type {boolean}
         * @memberof UserOrganizationDto
         */
        readOnly?: boolean;
    }
    /**
     * 
     * @export
     * @interface UserTermsOfServiceAcceptDto
     */
    export interface UserTermsOfServiceAcceptDto {
        /**
         * 
         * @type {string}
         * @memberof UserTermsOfServiceAcceptDto
         */
        version: string;
    }
    /**
     * 
     * @export
     * @interface VisibilityDto
     */
    export interface VisibilityDto {
        /**
         * 
         * @type {string}
         * @memberof VisibilityDto
         */
        id?: string;
        /**
         * 
         * @type {string}
         * @memberof VisibilityDto
         */
        displayName?: string;
    }
    /**
     * 
     * @export
     * @interface VisibilityDtoIEnumerablePagedResponse
     */
    export interface VisibilityDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<VisibilityDto>}
         * @memberof VisibilityDtoIEnumerablePagedResponse
         */
        data?: Array<VisibilityDto> | null;
        /**
         * 
         * @type {number}
         * @memberof VisibilityDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof VisibilityDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof VisibilityDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface VisibilityDtoResponse
     */
    export interface VisibilityDtoResponse {
        /**
         * 
         * @type {VisibilityDto}
         * @memberof VisibilityDtoResponse
         */
        data?: VisibilityDto;
        /**
         * 
         * @type {number}
         * @memberof VisibilityDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof VisibilityDtoResponse
         */
        isSuccess?: boolean;
    }
    /**
     * 
     * @export
     * @interface VisibilityForProjectManipulationDto
     */
    export interface VisibilityForProjectManipulationDto {
        /**
         * 
         * @type {string}
         * @memberof VisibilityForProjectManipulationDto
         */
        id: string;
    }
    /**
     * 
     * @export
     * @interface VisibilityForResourceManipulationDto
     */
    export interface VisibilityForResourceManipulationDto {
        /**
         * 
         * @type {string}
         * @memberof VisibilityForResourceManipulationDto
         */
        id: string;
    }
    /**
     * 
     * @export
     * @interface VocabularyDto
     */
    export interface VocabularyDto {
        /**
         * 
         * @type {string}
         * @memberof VocabularyDto
         */
        graphUri?: string;
        /**
         * 
         * @type {string}
         * @memberof VocabularyDto
         */
        classUri?: string;
        /**
         * 
         * @type {string}
         * @memberof VocabularyDto
         */
        displayName?: string | null;
        /**
         * 
         * @type {string}
         * @memberof VocabularyDto
         */
        description?: string | null;
    }
    /**
     * 
     * @export
     * @interface VocabularyDtoIEnumerablePagedResponse
     */
    export interface VocabularyDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<VocabularyDto>}
         * @memberof VocabularyDtoIEnumerablePagedResponse
         */
        data?: Array<VocabularyDto> | null;
        /**
         * 
         * @type {number}
         * @memberof VocabularyDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof VocabularyDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof VocabularyDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface VocabularyInstanceDto
     */
    export interface VocabularyInstanceDto {
        /**
         * 
         * @type {string}
         * @memberof VocabularyInstanceDto
         */
        graphUri?: string;
        /**
         * 
         * @type {string}
         * @memberof VocabularyInstanceDto
         */
        instanceUri?: string;
        /**
         * 
         * @type {string}
         * @memberof VocabularyInstanceDto
         */
        typeUri?: string | null;
        /**
         * 
         * @type {string}
         * @memberof VocabularyInstanceDto
         */
        subClassOfUri?: string | null;
        /**
         * 
         * @type {string}
         * @memberof VocabularyInstanceDto
         */
        displayName?: string | null;
        /**
         * 
         * @type {string}
         * @memberof VocabularyInstanceDto
         */
        description?: string | null;
    }
    /**
     * 
     * @export
     * @interface VocabularyInstanceDtoIEnumerablePagedResponse
     */
    export interface VocabularyInstanceDtoIEnumerablePagedResponse {
        /**
         * 
         * @type {Array<VocabularyInstanceDto>}
         * @memberof VocabularyInstanceDtoIEnumerablePagedResponse
         */
        data?: Array<VocabularyInstanceDto> | null;
        /**
         * 
         * @type {number}
         * @memberof VocabularyInstanceDtoIEnumerablePagedResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof VocabularyInstanceDtoIEnumerablePagedResponse
         */
        isSuccess?: boolean;
        /**
         * 
         * @type {Pagination}
         * @memberof VocabularyInstanceDtoIEnumerablePagedResponse
         */
        pagination?: Pagination;
    }
    /**
     * 
     * @export
     * @interface VocabularyInstanceDtoResponse
     */
    export interface VocabularyInstanceDtoResponse {
        /**
         * 
         * @type {VocabularyInstanceDto}
         * @memberof VocabularyInstanceDtoResponse
         */
        data?: VocabularyInstanceDto;
        /**
         * 
         * @type {number}
         * @memberof VocabularyInstanceDtoResponse
         */
        statusCode?: number | null;
        /**
         * 
         * @type {boolean}
         * @memberof VocabularyInstanceDtoResponse
         */
        isSuccess?: boolean;
    }
    
    /**
     * ApplicationProfileApi - axios parameter creator
     * @export
     */
    export const ApplicationProfileApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ApplicationProfilesOptions: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/application-profiles`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Submits a request to create a new application profile.
             * @param {ApplicationProfileForCreationDto} [applicationProfileForCreationDto] The details required to create a new application profile.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            createApplicationProfileRequest: async (applicationProfileForCreationDto?: ApplicationProfileForCreationDto, options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/application-profiles/requests`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                localVarHeaderParameter['Content-Type'] = 'application/json';
    
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = serializeDataIfNeeded(applicationProfileForCreationDto, localVarRequestOptions, configuration)
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves an application profile by its URI.
             * @param {string} profile The URI of the application profile to retrieve.
             * @param {RdfFormat} [format] The desired data format for the returned application profile.
             * @param {AcceptedLanguage} [acceptLanguage] The preferred language for the application profile data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getApplicationProfile: async (profile: string, format?: RdfFormat, acceptLanguage?: AcceptedLanguage, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'profile' is not null or undefined
                assertParamExists('getApplicationProfile', 'profile', profile)
                const localVarPath = `/api/v2/application-profiles/profiles/{profile}`
                    .replace(`{${"profile"}}`, encodeURIComponent(String(profile)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (format !== undefined) {
                    localVarQueryParameter['format'] = format;
                }
    
                if (acceptLanguage !== undefined && acceptLanguage !== null) {
                    localVarHeaderParameter['Accept-Language'] = String(JSON.stringify(acceptLanguage));
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves all application profiles.
             * @param {string} [searchTerm] 
             * @param {AcceptedLanguage} [language] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getApplicationProfiles: async (searchTerm?: string, language?: AcceptedLanguage, pageNumber?: number, pageSize?: number, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/application-profiles/profiles`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (searchTerm !== undefined) {
                    localVarQueryParameter['SearchTerm'] = searchTerm;
                }
    
                if (language !== undefined) {
                    localVarQueryParameter['Language'] = language;
                }
    
                if (pageNumber !== undefined) {
                    localVarQueryParameter['PageNumber'] = pageNumber;
                }
    
                if (pageSize !== undefined) {
                    localVarQueryParameter['PageSize'] = pageSize;
                }
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves the `raw` application profile definition by its URI.
             * @param {string} profile The URI of the application profile.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getRawApplicationProfile: async (profile: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'profile' is not null or undefined
                assertParamExists('getRawApplicationProfile', 'profile', profile)
                const localVarPath = `/api/v2/application-profiles/profiles/{profile}/raw`
                    .replace(`{${"profile"}}`, encodeURIComponent(String(profile)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * ApplicationProfileApi - functional programming interface
     * @export
     */
    export const ApplicationProfileApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = ApplicationProfileApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2ApplicationProfilesOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2ApplicationProfilesOptions(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Submits a request to create a new application profile.
             * @param {ApplicationProfileForCreationDto} [applicationProfileForCreationDto] The details required to create a new application profile.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async createApplicationProfileRequest(applicationProfileForCreationDto?: ApplicationProfileForCreationDto, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationProfileForCreationDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.createApplicationProfileRequest(applicationProfileForCreationDto, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves an application profile by its URI.
             * @param {string} profile The URI of the application profile to retrieve.
             * @param {RdfFormat} [format] The desired data format for the returned application profile.
             * @param {AcceptedLanguage} [acceptLanguage] The preferred language for the application profile data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getApplicationProfile(profile: string, format?: RdfFormat, acceptLanguage?: AcceptedLanguage, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationProfileDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getApplicationProfile(profile, format, acceptLanguage, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves all application profiles.
             * @param {string} [searchTerm] 
             * @param {AcceptedLanguage} [language] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getApplicationProfiles(searchTerm?: string, language?: AcceptedLanguage, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApplicationProfileDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getApplicationProfiles(searchTerm, language, pageNumber, pageSize, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves the `raw` application profile definition by its URI.
             * @param {string} profile The URI of the application profile.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getRawApplicationProfile(profile: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getRawApplicationProfile(profile, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * ApplicationProfileApi - factory interface
     * @export
     */
    export const ApplicationProfileApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = ApplicationProfileApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ApplicationProfilesOptions(options?: any): AxiosPromise<void> {
                return localVarFp.apiV2ApplicationProfilesOptions(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Submits a request to create a new application profile.
             * @param {ApplicationProfileForCreationDto} [applicationProfileForCreationDto] The details required to create a new application profile.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            createApplicationProfileRequest(applicationProfileForCreationDto?: ApplicationProfileForCreationDto, options?: any): AxiosPromise<ApplicationProfileForCreationDtoResponse> {
                return localVarFp.createApplicationProfileRequest(applicationProfileForCreationDto, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves an application profile by its URI.
             * @param {string} profile The URI of the application profile to retrieve.
             * @param {RdfFormat} [format] The desired data format for the returned application profile.
             * @param {AcceptedLanguage} [acceptLanguage] The preferred language for the application profile data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getApplicationProfile(profile: string, format?: RdfFormat, acceptLanguage?: AcceptedLanguage, options?: any): AxiosPromise<ApplicationProfileDtoResponse> {
                return localVarFp.getApplicationProfile(profile, format, acceptLanguage, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves all application profiles.
             * @param {string} [searchTerm] 
             * @param {AcceptedLanguage} [language] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getApplicationProfiles(searchTerm?: string, language?: AcceptedLanguage, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): AxiosPromise<ApplicationProfileDtoIEnumerablePagedResponse> {
                return localVarFp.getApplicationProfiles(searchTerm, language, pageNumber, pageSize, orderBy, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves the `raw` application profile definition by its URI.
             * @param {string} profile The URI of the application profile.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getRawApplicationProfile(profile: string, options?: any): AxiosPromise<string> {
                return localVarFp.getRawApplicationProfile(profile, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * ApplicationProfileApi - object-oriented interface
     * @export
     * @class ApplicationProfileApi
     * @extends {BaseAPI}
     */
    export class ApplicationProfileApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ApplicationProfileApi
         */
        public apiV2ApplicationProfilesOptions(options?: any) {
            return ApplicationProfileApiFp(this.configuration).apiV2ApplicationProfilesOptions(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Submits a request to create a new application profile.
         * @param {ApplicationProfileForCreationDto} [applicationProfileForCreationDto] The details required to create a new application profile.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ApplicationProfileApi
         */
        public createApplicationProfileRequest(applicationProfileForCreationDto?: ApplicationProfileForCreationDto, options?: any) {
            return ApplicationProfileApiFp(this.configuration).createApplicationProfileRequest(applicationProfileForCreationDto, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves an application profile by its URI.
         * @param {string} profile The URI of the application profile to retrieve.
         * @param {RdfFormat} [format] The desired data format for the returned application profile.
         * @param {AcceptedLanguage} [acceptLanguage] The preferred language for the application profile data.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ApplicationProfileApi
         */
        public getApplicationProfile(profile: string, format?: RdfFormat, acceptLanguage?: AcceptedLanguage, options?: any) {
            return ApplicationProfileApiFp(this.configuration).getApplicationProfile(profile, format, acceptLanguage, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves all application profiles.
         * @param {string} [searchTerm] 
         * @param {AcceptedLanguage} [language] 
         * @param {number} [pageNumber] 
         * @param {number} [pageSize] 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ApplicationProfileApi
         */
        public getApplicationProfiles(searchTerm?: string, language?: AcceptedLanguage, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any) {
            return ApplicationProfileApiFp(this.configuration).getApplicationProfiles(searchTerm, language, pageNumber, pageSize, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves the `raw` application profile definition by its URI.
         * @param {string} profile The URI of the application profile.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ApplicationProfileApi
         */
        public getRawApplicationProfile(profile: string, options?: any) {
            return ApplicationProfileApiFp(this.configuration).getRawApplicationProfile(profile, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * BlobApi - axios parameter creator
     * @export
     */
    export const BlobApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {string} resourceId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions: async (projectId: string, resourceId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions', 'resourceId', resourceId)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}/blobs`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Creates a new blob for a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key for the new blob.
             * @param {any} [file] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            createBlob: async (projectId: string, resourceId: string, key: string, file?: any, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('createBlob', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('createBlob', 'resourceId', resourceId)
                // verify required parameter 'key' is not null or undefined
                assertParamExists('createBlob', 'key', key)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}/blobs/{key}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)))
                    .replace(`{${"key"}}`, encodeURIComponent(String(key)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
                const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
                if (file !== undefined) { 
                    localVarFormParams.append('file', file as any);
                }
        
        
                localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = localVarFormParams;
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Deletes a blob from a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key associated with the blob to delete.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            deleteBlob: async (projectId: string, resourceId: string, key: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('deleteBlob', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('deleteBlob', 'resourceId', resourceId)
                // verify required parameter 'key' is not null or undefined
                assertParamExists('deleteBlob', 'key', key)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}/blobs/{key}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)))
                    .replace(`{${"key"}}`, encodeURIComponent(String(key)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Download a blob from a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key associated with the blob.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getBlob: async (projectId: string, resourceId: string, key: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('getBlob', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('getBlob', 'resourceId', resourceId)
                // verify required parameter 'key' is not null or undefined
                assertParamExists('getBlob', 'key', key)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}/blobs/{key}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)))
                    .replace(`{${"key"}}`, encodeURIComponent(String(key)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Updates an existing blob of a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key associated with the blob to update.
             * @param {any} [file] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            updateBlob: async (projectId: string, resourceId: string, key: string, file?: any, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('updateBlob', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('updateBlob', 'resourceId', resourceId)
                // verify required parameter 'key' is not null or undefined
                assertParamExists('updateBlob', 'key', key)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}/blobs/{key}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)))
                    .replace(`{${"key"}}`, encodeURIComponent(String(key)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
                const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)();
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
                if (file !== undefined) { 
                    localVarFormParams.append('file', file as any);
                }
        
        
                localVarHeaderParameter['Content-Type'] = 'multipart/form-data';
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = localVarFormParams;
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * BlobApi - functional programming interface
     * @export
     */
    export const BlobApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = BlobApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {string} resourceId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions(projectId: string, resourceId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions(projectId, resourceId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Creates a new blob for a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key for the new blob.
             * @param {any} [file] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async createBlob(projectId: string, resourceId: string, key: string, file?: any, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.createBlob(projectId, resourceId, key, file, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Deletes a blob from a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key associated with the blob to delete.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async deleteBlob(projectId: string, resourceId: string, key: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.deleteBlob(projectId, resourceId, key, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Download a blob from a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key associated with the blob.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getBlob(projectId: string, resourceId: string, key: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getBlob(projectId, resourceId, key, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Updates an existing blob of a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key associated with the blob to update.
             * @param {any} [file] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async updateBlob(projectId: string, resourceId: string, key: string, file?: any, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.updateBlob(projectId, resourceId, key, file, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * BlobApi - factory interface
     * @export
     */
    export const BlobApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = BlobApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {string} resourceId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions(projectId: string, resourceId: string, options?: any): AxiosPromise<void> {
                return localVarFp.apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions(projectId, resourceId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Creates a new blob for a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key for the new blob.
             * @param {any} [file] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            createBlob(projectId: string, resourceId: string, key: string, file?: any, options?: any): AxiosPromise<void> {
                return localVarFp.createBlob(projectId, resourceId, key, file, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Deletes a blob from a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key associated with the blob to delete.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            deleteBlob(projectId: string, resourceId: string, key: string, options?: any): AxiosPromise<void> {
                return localVarFp.deleteBlob(projectId, resourceId, key, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Download a blob from a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key associated with the blob.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getBlob(projectId: string, resourceId: string, key: string, options?: any): AxiosPromise<any> {
                return localVarFp.getBlob(projectId, resourceId, key, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Updates an existing blob of a resource.
             * @param {string} projectId The identifier or slug of the project.
             * @param {string} resourceId The identifier of the resource.
             * @param {string} key The key associated with the blob to update.
             * @param {any} [file] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            updateBlob(projectId: string, resourceId: string, key: string, file?: any, options?: any): AxiosPromise<void> {
                return localVarFp.updateBlob(projectId, resourceId, key, file, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * BlobApi - object-oriented interface
     * @export
     * @class BlobApi
     * @extends {BaseAPI}
     */
    export class BlobApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {string} projectId 
         * @param {string} resourceId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof BlobApi
         */
        public apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions(projectId: string, resourceId: string, options?: any) {
            return BlobApiFp(this.configuration).apiV2ProjectsProjectIdResourcesResourceIdBlobsOptions(projectId, resourceId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Creates a new blob for a resource.
         * @param {string} projectId The identifier or slug of the project.
         * @param {string} resourceId The identifier of the resource.
         * @param {string} key The key for the new blob.
         * @param {any} [file] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof BlobApi
         */
        public createBlob(projectId: string, resourceId: string, key: string, file?: any, options?: any) {
            return BlobApiFp(this.configuration).createBlob(projectId, resourceId, key, file, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Deletes a blob from a resource.
         * @param {string} projectId The identifier or slug of the project.
         * @param {string} resourceId The identifier of the resource.
         * @param {string} key The key associated with the blob to delete.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof BlobApi
         */
        public deleteBlob(projectId: string, resourceId: string, key: string, options?: any) {
            return BlobApiFp(this.configuration).deleteBlob(projectId, resourceId, key, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Download a blob from a resource.
         * @param {string} projectId The identifier or slug of the project.
         * @param {string} resourceId The identifier of the resource.
         * @param {string} key The key associated with the blob.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof BlobApi
         */
        public getBlob(projectId: string, resourceId: string, key: string, options?: any) {
            return BlobApiFp(this.configuration).getBlob(projectId, resourceId, key, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Updates an existing blob of a resource.
         * @param {string} projectId The identifier or slug of the project.
         * @param {string} resourceId The identifier of the resource.
         * @param {string} key The key associated with the blob to update.
         * @param {any} [file] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof BlobApi
         */
        public updateBlob(projectId: string, resourceId: string, key: string, file?: any, options?: any) {
            return BlobApiFp(this.configuration).updateBlob(projectId, resourceId, key, file, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * DisciplineApi - axios parameter creator
     * @export
     */
    export const DisciplineApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2DisciplinesOptions: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/disciplines`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves a discipline with the specified ID.
             * @param {string} disciplineId The ID of the discipline.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getDiscipline: async (disciplineId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'disciplineId' is not null or undefined
                assertParamExists('getDiscipline', 'disciplineId', disciplineId)
                const localVarPath = `/api/v2/disciplines/{disciplineId}`
                    .replace(`{${"disciplineId"}}`, encodeURIComponent(String(disciplineId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves all disciplines.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getDisciplines: async (pageNumber?: number, pageSize?: number, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/disciplines`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (pageNumber !== undefined) {
                    localVarQueryParameter['PageNumber'] = pageNumber;
                }
    
                if (pageSize !== undefined) {
                    localVarQueryParameter['PageSize'] = pageSize;
                }
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * DisciplineApi - functional programming interface
     * @export
     */
    export const DisciplineApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = DisciplineApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2DisciplinesOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2DisciplinesOptions(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves a discipline with the specified ID.
             * @param {string} disciplineId The ID of the discipline.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getDiscipline(disciplineId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DisciplineDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getDiscipline(disciplineId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves all disciplines.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getDisciplines(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DisciplineDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getDisciplines(pageNumber, pageSize, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * DisciplineApi - factory interface
     * @export
     */
    export const DisciplineApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = DisciplineApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2DisciplinesOptions(options?: any): AxiosPromise<void> {
                return localVarFp.apiV2DisciplinesOptions(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves a discipline with the specified ID.
             * @param {string} disciplineId The ID of the discipline.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getDiscipline(disciplineId: string, options?: any): AxiosPromise<DisciplineDtoResponse> {
                return localVarFp.getDiscipline(disciplineId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves all disciplines.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getDisciplines(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): AxiosPromise<DisciplineDtoIEnumerablePagedResponse> {
                return localVarFp.getDisciplines(pageNumber, pageSize, orderBy, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * DisciplineApi - object-oriented interface
     * @export
     * @class DisciplineApi
     * @extends {BaseAPI}
     */
    export class DisciplineApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof DisciplineApi
         */
        public apiV2DisciplinesOptions(options?: any) {
            return DisciplineApiFp(this.configuration).apiV2DisciplinesOptions(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves a discipline with the specified ID.
         * @param {string} disciplineId The ID of the discipline.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof DisciplineApi
         */
        public getDiscipline(disciplineId: string, options?: any) {
            return DisciplineApiFp(this.configuration).getDiscipline(disciplineId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves all disciplines.
         * @param {number} [pageNumber] 
         * @param {number} [pageSize] 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof DisciplineApi
         */
        public getDisciplines(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any) {
            return DisciplineApiFp(this.configuration).getDisciplines(pageNumber, pageSize, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * LanguageApi - axios parameter creator
     * @export
     */
    export const LanguageApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2LanguagesOptions: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/languages`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves a language by ID.
             * @param {string} languageId The ID of the language.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getLanguage: async (languageId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'languageId' is not null or undefined
                assertParamExists('getLanguage', 'languageId', languageId)
                const localVarPath = `/api/v2/languages/{languageId}`
                    .replace(`{${"languageId"}}`, encodeURIComponent(String(languageId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves all languages.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getLanguages: async (pageNumber?: number, pageSize?: number, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/languages`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (pageNumber !== undefined) {
                    localVarQueryParameter['PageNumber'] = pageNumber;
                }
    
                if (pageSize !== undefined) {
                    localVarQueryParameter['PageSize'] = pageSize;
                }
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * LanguageApi - functional programming interface
     * @export
     */
    export const LanguageApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = LanguageApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2LanguagesOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2LanguagesOptions(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves a language by ID.
             * @param {string} languageId The ID of the language.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getLanguage(languageId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<LanguageDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getLanguage(languageId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves all languages.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getLanguages(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<LanguageDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getLanguages(pageNumber, pageSize, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * LanguageApi - factory interface
     * @export
     */
    export const LanguageApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = LanguageApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2LanguagesOptions(options?: any): AxiosPromise<void> {
                return localVarFp.apiV2LanguagesOptions(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves a language by ID.
             * @param {string} languageId The ID of the language.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getLanguage(languageId: string, options?: any): AxiosPromise<LanguageDtoResponse> {
                return localVarFp.getLanguage(languageId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves all languages.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getLanguages(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): AxiosPromise<LanguageDtoIEnumerablePagedResponse> {
                return localVarFp.getLanguages(pageNumber, pageSize, orderBy, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * LanguageApi - object-oriented interface
     * @export
     * @class LanguageApi
     * @extends {BaseAPI}
     */
    export class LanguageApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof LanguageApi
         */
        public apiV2LanguagesOptions(options?: any) {
            return LanguageApiFp(this.configuration).apiV2LanguagesOptions(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves a language by ID.
         * @param {string} languageId The ID of the language.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof LanguageApi
         */
        public getLanguage(languageId: string, options?: any) {
            return LanguageApiFp(this.configuration).getLanguage(languageId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves all languages.
         * @param {number} [pageNumber] 
         * @param {number} [pageSize] 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof LanguageApi
         */
        public getLanguages(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any) {
            return LanguageApiFp(this.configuration).getLanguages(pageNumber, pageSize, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * LicenseApi - axios parameter creator
     * @export
     */
    export const LicenseApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2LicensesOptions: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/licenses`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves a license with the specified ID.
             * @param {string} licenseId The ID of the license.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getLicense: async (licenseId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'licenseId' is not null or undefined
                assertParamExists('getLicense', 'licenseId', licenseId)
                const localVarPath = `/api/v2/licenses/{licenseId}`
                    .replace(`{${"licenseId"}}`, encodeURIComponent(String(licenseId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves all licenses.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getLicenses: async (pageNumber?: number, pageSize?: number, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/licenses`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (pageNumber !== undefined) {
                    localVarQueryParameter['PageNumber'] = pageNumber;
                }
    
                if (pageSize !== undefined) {
                    localVarQueryParameter['PageSize'] = pageSize;
                }
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * LicenseApi - functional programming interface
     * @export
     */
    export const LicenseApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = LicenseApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2LicensesOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2LicensesOptions(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves a license with the specified ID.
             * @param {string} licenseId The ID of the license.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getLicense(licenseId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<LicenseDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getLicense(licenseId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves all licenses.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getLicenses(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<LicenseDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getLicenses(pageNumber, pageSize, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * LicenseApi - factory interface
     * @export
     */
    export const LicenseApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = LicenseApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2LicensesOptions(options?: any): AxiosPromise<void> {
                return localVarFp.apiV2LicensesOptions(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves a license with the specified ID.
             * @param {string} licenseId The ID of the license.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getLicense(licenseId: string, options?: any): AxiosPromise<LicenseDtoResponse> {
                return localVarFp.getLicense(licenseId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves all licenses.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getLicenses(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): AxiosPromise<LicenseDtoIEnumerablePagedResponse> {
                return localVarFp.getLicenses(pageNumber, pageSize, orderBy, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * LicenseApi - object-oriented interface
     * @export
     * @class LicenseApi
     * @extends {BaseAPI}
     */
    export class LicenseApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof LicenseApi
         */
        public apiV2LicensesOptions(options?: any) {
            return LicenseApiFp(this.configuration).apiV2LicensesOptions(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves a license with the specified ID.
         * @param {string} licenseId The ID of the license.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof LicenseApi
         */
        public getLicense(licenseId: string, options?: any) {
            return LicenseApiFp(this.configuration).getLicense(licenseId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves all licenses.
         * @param {number} [pageNumber] 
         * @param {number} [pageSize] 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof LicenseApi
         */
        public getLicenses(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any) {
            return LicenseApiFp(this.configuration).getLicenses(pageNumber, pageSize, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * MaintenanceApi - axios parameter creator
     * @export
     */
    export const MaintenanceApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2MaintenancesOptions: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/maintenances`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves the current maintenance messages.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getCurrentMaintenances: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/maintenances`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * MaintenanceApi - functional programming interface
     * @export
     */
    export const MaintenanceApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = MaintenanceApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2MaintenancesOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2MaintenancesOptions(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves the current maintenance messages.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getCurrentMaintenances(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MaintenanceDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getCurrentMaintenances(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * MaintenanceApi - factory interface
     * @export
     */
    export const MaintenanceApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = MaintenanceApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2MaintenancesOptions(options?: any): AxiosPromise<void> {
                return localVarFp.apiV2MaintenancesOptions(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves the current maintenance messages.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getCurrentMaintenances(options?: any): AxiosPromise<MaintenanceDtoIEnumerablePagedResponse> {
                return localVarFp.getCurrentMaintenances(options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * MaintenanceApi - object-oriented interface
     * @export
     * @class MaintenanceApi
     * @extends {BaseAPI}
     */
    export class MaintenanceApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof MaintenanceApi
         */
        public apiV2MaintenancesOptions(options?: any) {
            return MaintenanceApiFp(this.configuration).apiV2MaintenancesOptions(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves the current maintenance messages.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof MaintenanceApi
         */
        public getCurrentMaintenances(options?: any) {
            return MaintenanceApiFp(this.configuration).getCurrentMaintenances(options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * OrganizationApi - axios parameter creator
     * @export
     */
    export const OrganizationApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2OrganizationsOptions: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/organizations`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves an organization.
             * @param {string} organizationRorUri 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getOrganization: async (organizationRorUri: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'organizationRorUri' is not null or undefined
                assertParamExists('getOrganization', 'organizationRorUri', organizationRorUri)
                const localVarPath = `/api/v2/organizations/{organizationRorUri}`
                    .replace(`{${"organizationRorUri"}}`, encodeURIComponent(String(organizationRorUri)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves all organizations.
             * @param {string} [searchTerm] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getOrganizations: async (searchTerm?: string, pageNumber?: number, pageSize?: number, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/organizations`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (searchTerm !== undefined) {
                    localVarQueryParameter['SearchTerm'] = searchTerm;
                }
    
                if (pageNumber !== undefined) {
                    localVarQueryParameter['PageNumber'] = pageNumber;
                }
    
                if (pageSize !== undefined) {
                    localVarQueryParameter['PageSize'] = pageSize;
                }
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * OrganizationApi - functional programming interface
     * @export
     */
    export const OrganizationApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = OrganizationApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2OrganizationsOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2OrganizationsOptions(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves an organization.
             * @param {string} organizationRorUri 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getOrganization(organizationRorUri: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrganizationDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getOrganization(organizationRorUri, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves all organizations.
             * @param {string} [searchTerm] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getOrganizations(searchTerm?: string, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrganizationDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getOrganizations(searchTerm, pageNumber, pageSize, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * OrganizationApi - factory interface
     * @export
     */
    export const OrganizationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = OrganizationApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2OrganizationsOptions(options?: any): AxiosPromise<void> {
                return localVarFp.apiV2OrganizationsOptions(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves an organization.
             * @param {string} organizationRorUri 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getOrganization(organizationRorUri: string, options?: any): AxiosPromise<OrganizationDtoResponse> {
                return localVarFp.getOrganization(organizationRorUri, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves all organizations.
             * @param {string} [searchTerm] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getOrganizations(searchTerm?: string, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): AxiosPromise<OrganizationDtoIEnumerablePagedResponse> {
                return localVarFp.getOrganizations(searchTerm, pageNumber, pageSize, orderBy, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * OrganizationApi - object-oriented interface
     * @export
     * @class OrganizationApi
     * @extends {BaseAPI}
     */
    export class OrganizationApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof OrganizationApi
         */
        public apiV2OrganizationsOptions(options?: any) {
            return OrganizationApiFp(this.configuration).apiV2OrganizationsOptions(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves an organization.
         * @param {string} organizationRorUri 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof OrganizationApi
         */
        public getOrganization(organizationRorUri: string, options?: any) {
            return OrganizationApiFp(this.configuration).getOrganization(organizationRorUri, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves all organizations.
         * @param {string} [searchTerm] 
         * @param {number} [pageNumber] 
         * @param {number} [pageSize] 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof OrganizationApi
         */
        public getOrganizations(searchTerm?: string, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any) {
            return OrganizationApiFp(this.configuration).getOrganizations(searchTerm, pageNumber, pageSize, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * PidApi - axios parameter creator
     * @export
     */
    export const PidApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2PidsOptions: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/pids`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Sends an inquiry to the owner of the given PID.
             * @param {string} prefix The PID prefix of a project or a resource to validate
             * @param {string} id The PID body of a project or a resource to validate
             * @param {PidRequestDto} [pidRequestDto] The data transfer object containing the inquiry details.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            sendRequestToOwner: async (prefix: string, id: string, pidRequestDto?: PidRequestDto, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'prefix' is not null or undefined
                assertParamExists('sendRequestToOwner', 'prefix', prefix)
                // verify required parameter 'id' is not null or undefined
                assertParamExists('sendRequestToOwner', 'id', id)
                const localVarPath = `/api/v2/pids/{prefix}/{id}/requests`
                    .replace(`{${"prefix"}}`, encodeURIComponent(String(prefix)))
                    .replace(`{${"id"}}`, encodeURIComponent(String(id)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                localVarHeaderParameter['Content-Type'] = 'application/json';
    
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = serializeDataIfNeeded(pidRequestDto, localVarRequestOptions, configuration)
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Validates the given PID.
             * @param {string} prefix The PID prefix of a project or a resource to validate
             * @param {string} id The PID body of a project or a resource to validate
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            validatePid: async (prefix: string, id: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'prefix' is not null or undefined
                assertParamExists('validatePid', 'prefix', prefix)
                // verify required parameter 'id' is not null or undefined
                assertParamExists('validatePid', 'id', id)
                const localVarPath = `/api/v2/pids/{prefix}/{id}`
                    .replace(`{${"prefix"}}`, encodeURIComponent(String(prefix)))
                    .replace(`{${"id"}}`, encodeURIComponent(String(id)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * PidApi - functional programming interface
     * @export
     */
    export const PidApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = PidApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2PidsOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2PidsOptions(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Sends an inquiry to the owner of the given PID.
             * @param {string} prefix The PID prefix of a project or a resource to validate
             * @param {string} id The PID body of a project or a resource to validate
             * @param {PidRequestDto} [pidRequestDto] The data transfer object containing the inquiry details.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async sendRequestToOwner(prefix: string, id: string, pidRequestDto?: PidRequestDto, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.sendRequestToOwner(prefix, id, pidRequestDto, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Validates the given PID.
             * @param {string} prefix The PID prefix of a project or a resource to validate
             * @param {string} id The PID body of a project or a resource to validate
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async validatePid(prefix: string, id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PidValidationDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.validatePid(prefix, id, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * PidApi - factory interface
     * @export
     */
    export const PidApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = PidApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2PidsOptions(options?: any): AxiosPromise<void> {
                return localVarFp.apiV2PidsOptions(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Sends an inquiry to the owner of the given PID.
             * @param {string} prefix The PID prefix of a project or a resource to validate
             * @param {string} id The PID body of a project or a resource to validate
             * @param {PidRequestDto} [pidRequestDto] The data transfer object containing the inquiry details.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            sendRequestToOwner(prefix: string, id: string, pidRequestDto?: PidRequestDto, options?: any): AxiosPromise<void> {
                return localVarFp.sendRequestToOwner(prefix, id, pidRequestDto, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Validates the given PID.
             * @param {string} prefix The PID prefix of a project or a resource to validate
             * @param {string} id The PID body of a project or a resource to validate
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            validatePid(prefix: string, id: string, options?: any): AxiosPromise<PidValidationDtoResponse> {
                return localVarFp.validatePid(prefix, id, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * PidApi - object-oriented interface
     * @export
     * @class PidApi
     * @extends {BaseAPI}
     */
    export class PidApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof PidApi
         */
        public apiV2PidsOptions(options?: any) {
            return PidApiFp(this.configuration).apiV2PidsOptions(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Sends an inquiry to the owner of the given PID.
         * @param {string} prefix The PID prefix of a project or a resource to validate
         * @param {string} id The PID body of a project or a resource to validate
         * @param {PidRequestDto} [pidRequestDto] The data transfer object containing the inquiry details.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof PidApi
         */
        public sendRequestToOwner(prefix: string, id: string, pidRequestDto?: PidRequestDto, options?: any) {
            return PidApiFp(this.configuration).sendRequestToOwner(prefix, id, pidRequestDto, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Validates the given PID.
         * @param {string} prefix The PID prefix of a project or a resource to validate
         * @param {string} id The PID body of a project or a resource to validate
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof PidApi
         */
        public validatePid(prefix: string, id: string, options?: any) {
            return PidApiFp(this.configuration).validatePid(prefix, id, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * ProjectApi - axios parameter creator
     * @export
     */
    export const ProjectApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsOptions: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/projects`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Creates a new project.
             * @param {ProjectForCreationDto} [projectForCreationDto] The project data for creation.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            createProject: async (projectForCreationDto?: ProjectForCreationDto, options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/projects`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                localVarHeaderParameter['Content-Type'] = 'application/json';
    
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = serializeDataIfNeeded(projectForCreationDto, localVarRequestOptions, configuration)
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Deletes a project.
             * @param {string} projectId The ID of the project.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            deleteProject: async (projectId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('deleteProject', 'projectId', projectId)
                const localVarPath = `/api/v2/projects/{projectId}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves a project.
             * @param {string} projectId The ID of the project.
             * @param {boolean} [includeSubProjects] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getProject: async (projectId: string, includeSubProjects?: boolean, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('getProject', 'projectId', projectId)
                const localVarPath = `/api/v2/projects/{projectId}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (includeSubProjects !== undefined) {
                    localVarQueryParameter['IncludeSubProjects'] = includeSubProjects;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves all projects.
             * @param {boolean} [topLevel] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getProjects: async (topLevel?: boolean, pageNumber?: number, pageSize?: number, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/projects`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (topLevel !== undefined) {
                    localVarQueryParameter['TopLevel'] = topLevel;
                }
    
                if (pageNumber !== undefined) {
                    localVarQueryParameter['PageNumber'] = pageNumber;
                }
    
                if (pageSize !== undefined) {
                    localVarQueryParameter['PageSize'] = pageSize;
                }
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Updates a project.
             * @param {string} projectId The ID of the project.
             * @param {ProjectForUpdateDto} [projectForUpdateDto] The updated project data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            updateProject: async (projectId: string, projectForUpdateDto?: ProjectForUpdateDto, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('updateProject', 'projectId', projectId)
                const localVarPath = `/api/v2/projects/{projectId}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                localVarHeaderParameter['Content-Type'] = 'application/json';
    
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = serializeDataIfNeeded(projectForUpdateDto, localVarRequestOptions, configuration)
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * ProjectApi - functional programming interface
     * @export
     */
    export const ProjectApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = ProjectApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2ProjectsOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2ProjectsOptions(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Creates a new project.
             * @param {ProjectForCreationDto} [projectForCreationDto] The project data for creation.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async createProject(projectForCreationDto?: ProjectForCreationDto, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.createProject(projectForCreationDto, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Deletes a project.
             * @param {string} projectId The ID of the project.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async deleteProject(projectId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.deleteProject(projectId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves a project.
             * @param {string} projectId The ID of the project.
             * @param {boolean} [includeSubProjects] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getProject(projectId: string, includeSubProjects?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getProject(projectId, includeSubProjects, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves all projects.
             * @param {boolean} [topLevel] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getProjects(topLevel?: boolean, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getProjects(topLevel, pageNumber, pageSize, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Updates a project.
             * @param {string} projectId The ID of the project.
             * @param {ProjectForUpdateDto} [projectForUpdateDto] The updated project data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async updateProject(projectId: string, projectForUpdateDto?: ProjectForUpdateDto, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.updateProject(projectId, projectForUpdateDto, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * ProjectApi - factory interface
     * @export
     */
    export const ProjectApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = ProjectApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsOptions(options?: any): AxiosPromise<void> {
                return localVarFp.apiV2ProjectsOptions(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Creates a new project.
             * @param {ProjectForCreationDto} [projectForCreationDto] The project data for creation.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            createProject(projectForCreationDto?: ProjectForCreationDto, options?: any): AxiosPromise<ProjectDtoResponse> {
                return localVarFp.createProject(projectForCreationDto, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Deletes a project.
             * @param {string} projectId The ID of the project.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            deleteProject(projectId: string, options?: any): AxiosPromise<void> {
                return localVarFp.deleteProject(projectId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves a project.
             * @param {string} projectId The ID of the project.
             * @param {boolean} [includeSubProjects] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getProject(projectId: string, includeSubProjects?: boolean, options?: any): AxiosPromise<ProjectDtoResponse> {
                return localVarFp.getProject(projectId, includeSubProjects, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves all projects.
             * @param {boolean} [topLevel] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getProjects(topLevel?: boolean, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): AxiosPromise<ProjectDtoIEnumerablePagedResponse> {
                return localVarFp.getProjects(topLevel, pageNumber, pageSize, orderBy, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Updates a project.
             * @param {string} projectId The ID of the project.
             * @param {ProjectForUpdateDto} [projectForUpdateDto] The updated project data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            updateProject(projectId: string, projectForUpdateDto?: ProjectForUpdateDto, options?: any): AxiosPromise<void> {
                return localVarFp.updateProject(projectId, projectForUpdateDto, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * ProjectApi - object-oriented interface
     * @export
     * @class ProjectApi
     * @extends {BaseAPI}
     */
    export class ProjectApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectApi
         */
        public apiV2ProjectsOptions(options?: any) {
            return ProjectApiFp(this.configuration).apiV2ProjectsOptions(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Creates a new project.
         * @param {ProjectForCreationDto} [projectForCreationDto] The project data for creation.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectApi
         */
        public createProject(projectForCreationDto?: ProjectForCreationDto, options?: any) {
            return ProjectApiFp(this.configuration).createProject(projectForCreationDto, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Deletes a project.
         * @param {string} projectId The ID of the project.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectApi
         */
        public deleteProject(projectId: string, options?: any) {
            return ProjectApiFp(this.configuration).deleteProject(projectId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves a project.
         * @param {string} projectId The ID of the project.
         * @param {boolean} [includeSubProjects] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectApi
         */
        public getProject(projectId: string, includeSubProjects?: boolean, options?: any) {
            return ProjectApiFp(this.configuration).getProject(projectId, includeSubProjects, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves all projects.
         * @param {boolean} [topLevel] 
         * @param {number} [pageNumber] 
         * @param {number} [pageSize] 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectApi
         */
        public getProjects(topLevel?: boolean, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any) {
            return ProjectApiFp(this.configuration).getProjects(topLevel, pageNumber, pageSize, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Updates a project.
         * @param {string} projectId The ID of the project.
         * @param {ProjectForUpdateDto} [projectForUpdateDto] The updated project data.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectApi
         */
        public updateProject(projectId: string, projectForUpdateDto?: ProjectForUpdateDto, options?: any) {
            return ProjectApiFp(this.configuration).updateProject(projectId, projectForUpdateDto, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * ProjectInvitationApi - axios parameter creator
     * @export
     */
    export const ProjectInvitationApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsProjectIdInvitationsOptions: async (projectId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('apiV2ProjectsProjectIdInvitationsOptions', 'projectId', projectId)
                const localVarPath = `/api/v2/projects/{projectId}/invitations`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Creates a project invitation for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {ProjectInvitationForProjectManipulationDto} [projectInvitationForProjectManipulationDto] The project invitation data for creation.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            createProjectInvitation: async (projectId: string, projectInvitationForProjectManipulationDto?: ProjectInvitationForProjectManipulationDto, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('createProjectInvitation', 'projectId', projectId)
                const localVarPath = `/api/v2/projects/{projectId}/invitations`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                localVarHeaderParameter['Content-Type'] = 'application/json';
    
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = serializeDataIfNeeded(projectInvitationForProjectManipulationDto, localVarRequestOptions, configuration)
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Deletes a project invitation for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} projectInvitationId The ID of the project invitation to delete.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            deleteProjectInvitation: async (projectId: string, projectInvitationId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('deleteProjectInvitation', 'projectId', projectId)
                // verify required parameter 'projectInvitationId' is not null or undefined
                assertParamExists('deleteProjectInvitation', 'projectInvitationId', projectInvitationId)
                const localVarPath = `/api/v2/projects/{projectId}/invitations/{projectInvitationId}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"projectInvitationId"}}`, encodeURIComponent(String(projectInvitationId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves a project invitation for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} projectInvitationId The ID of the project invitation to retrieve.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getProjectInvitation: async (projectId: string, projectInvitationId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('getProjectInvitation', 'projectId', projectId)
                // verify required parameter 'projectInvitationId' is not null or undefined
                assertParamExists('getProjectInvitation', 'projectInvitationId', projectInvitationId)
                const localVarPath = `/api/v2/projects/{projectId}/invitations/{projectInvitationId}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"projectInvitationId"}}`, encodeURIComponent(String(projectInvitationId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves all project invitations for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getProjectInvitations: async (projectId: string, pageNumber?: number, pageSize?: number, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('getProjectInvitations', 'projectId', projectId)
                const localVarPath = `/api/v2/projects/{projectId}/invitations`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (pageNumber !== undefined) {
                    localVarQueryParameter['PageNumber'] = pageNumber;
                }
    
                if (pageSize !== undefined) {
                    localVarQueryParameter['PageSize'] = pageSize;
                }
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * ProjectInvitationApi - functional programming interface
     * @export
     */
    export const ProjectInvitationApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = ProjectInvitationApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2ProjectsProjectIdInvitationsOptions(projectId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2ProjectsProjectIdInvitationsOptions(projectId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Creates a project invitation for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {ProjectInvitationForProjectManipulationDto} [projectInvitationForProjectManipulationDto] The project invitation data for creation.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async createProjectInvitation(projectId: string, projectInvitationForProjectManipulationDto?: ProjectInvitationForProjectManipulationDto, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectInvitationDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.createProjectInvitation(projectId, projectInvitationForProjectManipulationDto, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Deletes a project invitation for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} projectInvitationId The ID of the project invitation to delete.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async deleteProjectInvitation(projectId: string, projectInvitationId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.deleteProjectInvitation(projectId, projectInvitationId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves a project invitation for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} projectInvitationId The ID of the project invitation to retrieve.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getProjectInvitation(projectId: string, projectInvitationId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectInvitationDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getProjectInvitation(projectId, projectInvitationId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves all project invitations for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getProjectInvitations(projectId: string, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectInvitationDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getProjectInvitations(projectId, pageNumber, pageSize, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * ProjectInvitationApi - factory interface
     * @export
     */
    export const ProjectInvitationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = ProjectInvitationApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsProjectIdInvitationsOptions(projectId: string, options?: any): AxiosPromise<void> {
                return localVarFp.apiV2ProjectsProjectIdInvitationsOptions(projectId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Creates a project invitation for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {ProjectInvitationForProjectManipulationDto} [projectInvitationForProjectManipulationDto] The project invitation data for creation.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            createProjectInvitation(projectId: string, projectInvitationForProjectManipulationDto?: ProjectInvitationForProjectManipulationDto, options?: any): AxiosPromise<ProjectInvitationDtoResponse> {
                return localVarFp.createProjectInvitation(projectId, projectInvitationForProjectManipulationDto, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Deletes a project invitation for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} projectInvitationId The ID of the project invitation to delete.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            deleteProjectInvitation(projectId: string, projectInvitationId: string, options?: any): AxiosPromise<void> {
                return localVarFp.deleteProjectInvitation(projectId, projectInvitationId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves a project invitation for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} projectInvitationId The ID of the project invitation to retrieve.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getProjectInvitation(projectId: string, projectInvitationId: string, options?: any): AxiosPromise<ProjectInvitationDtoResponse> {
                return localVarFp.getProjectInvitation(projectId, projectInvitationId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves all project invitations for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getProjectInvitations(projectId: string, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): AxiosPromise<ProjectInvitationDtoIEnumerablePagedResponse> {
                return localVarFp.getProjectInvitations(projectId, pageNumber, pageSize, orderBy, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * ProjectInvitationApi - object-oriented interface
     * @export
     * @class ProjectInvitationApi
     * @extends {BaseAPI}
     */
    export class ProjectInvitationApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {string} projectId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectInvitationApi
         */
        public apiV2ProjectsProjectIdInvitationsOptions(projectId: string, options?: any) {
            return ProjectInvitationApiFp(this.configuration).apiV2ProjectsProjectIdInvitationsOptions(projectId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Creates a project invitation for a specified project.
         * @param {string} projectId The Id or slug of the project.
         * @param {ProjectInvitationForProjectManipulationDto} [projectInvitationForProjectManipulationDto] The project invitation data for creation.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectInvitationApi
         */
        public createProjectInvitation(projectId: string, projectInvitationForProjectManipulationDto?: ProjectInvitationForProjectManipulationDto, options?: any) {
            return ProjectInvitationApiFp(this.configuration).createProjectInvitation(projectId, projectInvitationForProjectManipulationDto, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Deletes a project invitation for a specified project.
         * @param {string} projectId The Id or slug of the project.
         * @param {string} projectInvitationId The ID of the project invitation to delete.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectInvitationApi
         */
        public deleteProjectInvitation(projectId: string, projectInvitationId: string, options?: any) {
            return ProjectInvitationApiFp(this.configuration).deleteProjectInvitation(projectId, projectInvitationId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves a project invitation for a specified project.
         * @param {string} projectId The Id or slug of the project.
         * @param {string} projectInvitationId The ID of the project invitation to retrieve.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectInvitationApi
         */
        public getProjectInvitation(projectId: string, projectInvitationId: string, options?: any) {
            return ProjectInvitationApiFp(this.configuration).getProjectInvitation(projectId, projectInvitationId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves all project invitations for a specified project.
         * @param {string} projectId The Id or slug of the project.
         * @param {number} [pageNumber] 
         * @param {number} [pageSize] 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectInvitationApi
         */
        public getProjectInvitations(projectId: string, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any) {
            return ProjectInvitationApiFp(this.configuration).getProjectInvitations(projectId, pageNumber, pageSize, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * ProjectMemberApi - axios parameter creator
     * @export
     */
    export const ProjectMemberApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Creates a project membership for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {ProjectRoleForProjectCreationDto} [projectRoleForProjectCreationDto] The project membership data for creation.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            addMembership: async (projectId: string, projectRoleForProjectCreationDto?: ProjectRoleForProjectCreationDto, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('addMembership', 'projectId', projectId)
                const localVarPath = `/api/v2/projects/{projectId}/members`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                localVarHeaderParameter['Content-Type'] = 'application/json';
    
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = serializeDataIfNeeded(projectRoleForProjectCreationDto, localVarRequestOptions, configuration)
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsProjectIdMembersOptions: async (projectId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('apiV2ProjectsProjectIdMembersOptions', 'projectId', projectId)
                const localVarPath = `/api/v2/projects/{projectId}/members`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Deletes a project membership for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} membershipId The ID of the project membership to delete.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            deleteMembership: async (projectId: string, membershipId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('deleteMembership', 'projectId', projectId)
                // verify required parameter 'membershipId' is not null or undefined
                assertParamExists('deleteMembership', 'membershipId', membershipId)
                const localVarPath = `/api/v2/projects/{projectId}/members/{membershipId}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"membershipId"}}`, encodeURIComponent(String(membershipId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves a project membership for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} membershipId The ID of the project membership to retrieve.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getMembership: async (projectId: string, membershipId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('getMembership', 'projectId', projectId)
                // verify required parameter 'membershipId' is not null or undefined
                assertParamExists('getMembership', 'membershipId', membershipId)
                const localVarPath = `/api/v2/projects/{projectId}/members/{membershipId}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"membershipId"}}`, encodeURIComponent(String(membershipId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves all project memberships for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getMemberships: async (projectId: string, pageNumber?: number, pageSize?: number, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('getMemberships', 'projectId', projectId)
                const localVarPath = `/api/v2/projects/{projectId}/members`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (pageNumber !== undefined) {
                    localVarQueryParameter['PageNumber'] = pageNumber;
                }
    
                if (pageSize !== undefined) {
                    localVarQueryParameter['PageSize'] = pageSize;
                }
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Updates a project membership for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} membershipId The ID of the project membership to update.
             * @param {ProjectRoleForProjectManipulationDto} [projectRoleForProjectManipulationDto] The updated project membership data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            updateMembership: async (projectId: string, membershipId: string, projectRoleForProjectManipulationDto?: ProjectRoleForProjectManipulationDto, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('updateMembership', 'projectId', projectId)
                // verify required parameter 'membershipId' is not null or undefined
                assertParamExists('updateMembership', 'membershipId', membershipId)
                const localVarPath = `/api/v2/projects/{projectId}/members/{membershipId}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"membershipId"}}`, encodeURIComponent(String(membershipId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                localVarHeaderParameter['Content-Type'] = 'application/json';
    
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = serializeDataIfNeeded(projectRoleForProjectManipulationDto, localVarRequestOptions, configuration)
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * ProjectMemberApi - functional programming interface
     * @export
     */
    export const ProjectMemberApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = ProjectMemberApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Creates a project membership for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {ProjectRoleForProjectCreationDto} [projectRoleForProjectCreationDto] The project membership data for creation.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async addMembership(projectId: string, projectRoleForProjectCreationDto?: ProjectRoleForProjectCreationDto, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectRoleDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.addMembership(projectId, projectRoleForProjectCreationDto, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2ProjectsProjectIdMembersOptions(projectId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2ProjectsProjectIdMembersOptions(projectId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Deletes a project membership for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} membershipId The ID of the project membership to delete.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async deleteMembership(projectId: string, membershipId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.deleteMembership(projectId, membershipId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves a project membership for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} membershipId The ID of the project membership to retrieve.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getMembership(projectId: string, membershipId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectRoleDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getMembership(projectId, membershipId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves all project memberships for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getMemberships(projectId: string, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectRoleDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getMemberships(projectId, pageNumber, pageSize, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Updates a project membership for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} membershipId The ID of the project membership to update.
             * @param {ProjectRoleForProjectManipulationDto} [projectRoleForProjectManipulationDto] The updated project membership data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async updateMembership(projectId: string, membershipId: string, projectRoleForProjectManipulationDto?: ProjectRoleForProjectManipulationDto, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.updateMembership(projectId, membershipId, projectRoleForProjectManipulationDto, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * ProjectMemberApi - factory interface
     * @export
     */
    export const ProjectMemberApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = ProjectMemberApiFp(configuration)
        return {
            /**
             * 
             * @summary Creates a project membership for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {ProjectRoleForProjectCreationDto} [projectRoleForProjectCreationDto] The project membership data for creation.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            addMembership(projectId: string, projectRoleForProjectCreationDto?: ProjectRoleForProjectCreationDto, options?: any): AxiosPromise<ProjectRoleDtoResponse> {
                return localVarFp.addMembership(projectId, projectRoleForProjectCreationDto, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsProjectIdMembersOptions(projectId: string, options?: any): AxiosPromise<void> {
                return localVarFp.apiV2ProjectsProjectIdMembersOptions(projectId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Deletes a project membership for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} membershipId The ID of the project membership to delete.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            deleteMembership(projectId: string, membershipId: string, options?: any): AxiosPromise<void> {
                return localVarFp.deleteMembership(projectId, membershipId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves a project membership for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} membershipId The ID of the project membership to retrieve.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getMembership(projectId: string, membershipId: string, options?: any): AxiosPromise<ProjectRoleDtoResponse> {
                return localVarFp.getMembership(projectId, membershipId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves all project memberships for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getMemberships(projectId: string, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): AxiosPromise<ProjectRoleDtoIEnumerablePagedResponse> {
                return localVarFp.getMemberships(projectId, pageNumber, pageSize, orderBy, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Updates a project membership for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} membershipId The ID of the project membership to update.
             * @param {ProjectRoleForProjectManipulationDto} [projectRoleForProjectManipulationDto] The updated project membership data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            updateMembership(projectId: string, membershipId: string, projectRoleForProjectManipulationDto?: ProjectRoleForProjectManipulationDto, options?: any): AxiosPromise<void> {
                return localVarFp.updateMembership(projectId, membershipId, projectRoleForProjectManipulationDto, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * ProjectMemberApi - object-oriented interface
     * @export
     * @class ProjectMemberApi
     * @extends {BaseAPI}
     */
    export class ProjectMemberApi extends BaseAPI {
        /**
         * 
         * @summary Creates a project membership for a specified project.
         * @param {string} projectId The Id or slug of the project.
         * @param {ProjectRoleForProjectCreationDto} [projectRoleForProjectCreationDto] The project membership data for creation.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectMemberApi
         */
        public addMembership(projectId: string, projectRoleForProjectCreationDto?: ProjectRoleForProjectCreationDto, options?: any) {
            return ProjectMemberApiFp(this.configuration).addMembership(projectId, projectRoleForProjectCreationDto, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {string} projectId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectMemberApi
         */
        public apiV2ProjectsProjectIdMembersOptions(projectId: string, options?: any) {
            return ProjectMemberApiFp(this.configuration).apiV2ProjectsProjectIdMembersOptions(projectId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Deletes a project membership for a specified project.
         * @param {string} projectId The Id or slug of the project.
         * @param {string} membershipId The ID of the project membership to delete.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectMemberApi
         */
        public deleteMembership(projectId: string, membershipId: string, options?: any) {
            return ProjectMemberApiFp(this.configuration).deleteMembership(projectId, membershipId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves a project membership for a specified project.
         * @param {string} projectId The Id or slug of the project.
         * @param {string} membershipId The ID of the project membership to retrieve.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectMemberApi
         */
        public getMembership(projectId: string, membershipId: string, options?: any) {
            return ProjectMemberApiFp(this.configuration).getMembership(projectId, membershipId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves all project memberships for a specified project.
         * @param {string} projectId The Id or slug of the project.
         * @param {number} [pageNumber] 
         * @param {number} [pageSize] 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectMemberApi
         */
        public getMemberships(projectId: string, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any) {
            return ProjectMemberApiFp(this.configuration).getMemberships(projectId, pageNumber, pageSize, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Updates a project membership for a specified project.
         * @param {string} projectId The Id or slug of the project.
         * @param {string} membershipId The ID of the project membership to update.
         * @param {ProjectRoleForProjectManipulationDto} [projectRoleForProjectManipulationDto] The updated project membership data.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectMemberApi
         */
        public updateMembership(projectId: string, membershipId: string, projectRoleForProjectManipulationDto?: ProjectRoleForProjectManipulationDto, options?: any) {
            return ProjectMemberApiFp(this.configuration).updateMembership(projectId, membershipId, projectRoleForProjectManipulationDto, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * ProjectQuotaApi - axios parameter creator
     * @export
     */
    export const ProjectQuotaApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsProjectIdQuotasOptions: async (projectId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('apiV2ProjectsProjectIdQuotasOptions', 'projectId', projectId)
                const localVarPath = `/api/v2/projects/{projectId}/quotas`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves a project quota for a specified project and resource type.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} resourceTypeId The ID of the resource type.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getProjectQuota: async (projectId: string, resourceTypeId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('getProjectQuota', 'projectId', projectId)
                // verify required parameter 'resourceTypeId' is not null or undefined
                assertParamExists('getProjectQuota', 'resourceTypeId', resourceTypeId)
                const localVarPath = `/api/v2/projects/{projectId}/quotas/{resourceTypeId}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceTypeId"}}`, encodeURIComponent(String(resourceTypeId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves all project quotas for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getProjectQuotas: async (projectId: string, pageNumber?: number, pageSize?: number, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('getProjectQuotas', 'projectId', projectId)
                const localVarPath = `/api/v2/projects/{projectId}/quotas`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (pageNumber !== undefined) {
                    localVarQueryParameter['PageNumber'] = pageNumber;
                }
    
                if (pageSize !== undefined) {
                    localVarQueryParameter['PageSize'] = pageSize;
                }
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Updates a project quota for a specified project and resource type.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} resourceTypeId The ID of the resource type.
             * @param {ProjectQuotaForUpdateDto} [projectQuotaForUpdateDto] The updated project quota data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            updateProjectQuota: async (projectId: string, resourceTypeId: string, projectQuotaForUpdateDto?: ProjectQuotaForUpdateDto, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('updateProjectQuota', 'projectId', projectId)
                // verify required parameter 'resourceTypeId' is not null or undefined
                assertParamExists('updateProjectQuota', 'resourceTypeId', resourceTypeId)
                const localVarPath = `/api/v2/projects/{projectId}/quotas/{resourceTypeId}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceTypeId"}}`, encodeURIComponent(String(resourceTypeId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                localVarHeaderParameter['Content-Type'] = 'application/json';
    
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = serializeDataIfNeeded(projectQuotaForUpdateDto, localVarRequestOptions, configuration)
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * ProjectQuotaApi - functional programming interface
     * @export
     */
    export const ProjectQuotaApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = ProjectQuotaApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2ProjectsProjectIdQuotasOptions(projectId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2ProjectsProjectIdQuotasOptions(projectId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves a project quota for a specified project and resource type.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} resourceTypeId The ID of the resource type.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getProjectQuota(projectId: string, resourceTypeId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectQuotaDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getProjectQuota(projectId, resourceTypeId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves all project quotas for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getProjectQuotas(projectId: string, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProjectQuotaDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getProjectQuotas(projectId, pageNumber, pageSize, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Updates a project quota for a specified project and resource type.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} resourceTypeId The ID of the resource type.
             * @param {ProjectQuotaForUpdateDto} [projectQuotaForUpdateDto] The updated project quota data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async updateProjectQuota(projectId: string, resourceTypeId: string, projectQuotaForUpdateDto?: ProjectQuotaForUpdateDto, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.updateProjectQuota(projectId, resourceTypeId, projectQuotaForUpdateDto, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * ProjectQuotaApi - factory interface
     * @export
     */
    export const ProjectQuotaApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = ProjectQuotaApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsProjectIdQuotasOptions(projectId: string, options?: any): AxiosPromise<void> {
                return localVarFp.apiV2ProjectsProjectIdQuotasOptions(projectId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves a project quota for a specified project and resource type.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} resourceTypeId The ID of the resource type.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getProjectQuota(projectId: string, resourceTypeId: string, options?: any): AxiosPromise<ProjectQuotaDtoResponse> {
                return localVarFp.getProjectQuota(projectId, resourceTypeId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves all project quotas for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getProjectQuotas(projectId: string, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): AxiosPromise<ProjectQuotaDtoIEnumerablePagedResponse> {
                return localVarFp.getProjectQuotas(projectId, pageNumber, pageSize, orderBy, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Updates a project quota for a specified project and resource type.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} resourceTypeId The ID of the resource type.
             * @param {ProjectQuotaForUpdateDto} [projectQuotaForUpdateDto] The updated project quota data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            updateProjectQuota(projectId: string, resourceTypeId: string, projectQuotaForUpdateDto?: ProjectQuotaForUpdateDto, options?: any): AxiosPromise<void> {
                return localVarFp.updateProjectQuota(projectId, resourceTypeId, projectQuotaForUpdateDto, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * ProjectQuotaApi - object-oriented interface
     * @export
     * @class ProjectQuotaApi
     * @extends {BaseAPI}
     */
    export class ProjectQuotaApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {string} projectId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectQuotaApi
         */
        public apiV2ProjectsProjectIdQuotasOptions(projectId: string, options?: any) {
            return ProjectQuotaApiFp(this.configuration).apiV2ProjectsProjectIdQuotasOptions(projectId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves a project quota for a specified project and resource type.
         * @param {string} projectId The Id or slug of the project.
         * @param {string} resourceTypeId The ID of the resource type.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectQuotaApi
         */
        public getProjectQuota(projectId: string, resourceTypeId: string, options?: any) {
            return ProjectQuotaApiFp(this.configuration).getProjectQuota(projectId, resourceTypeId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves all project quotas for a specified project.
         * @param {string} projectId The Id or slug of the project.
         * @param {number} [pageNumber] 
         * @param {number} [pageSize] 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectQuotaApi
         */
        public getProjectQuotas(projectId: string, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any) {
            return ProjectQuotaApiFp(this.configuration).getProjectQuotas(projectId, pageNumber, pageSize, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Updates a project quota for a specified project and resource type.
         * @param {string} projectId The Id or slug of the project.
         * @param {string} resourceTypeId The ID of the resource type.
         * @param {ProjectQuotaForUpdateDto} [projectQuotaForUpdateDto] The updated project quota data.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectQuotaApi
         */
        public updateProjectQuota(projectId: string, resourceTypeId: string, projectQuotaForUpdateDto?: ProjectQuotaForUpdateDto, options?: any) {
            return ProjectQuotaApiFp(this.configuration).updateProjectQuota(projectId, resourceTypeId, projectQuotaForUpdateDto, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * ProjectResourceApi - axios parameter creator
     * @export
     */
    export const ProjectResourceApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsProjectIdResourcesOptions: async (projectId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('apiV2ProjectsProjectIdResourcesOptions', 'projectId', projectId)
                const localVarPath = `/api/v2/projects/{projectId}/resources`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Creates a new resource for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {ResourceForCreationDto} [resourceForCreationDto] The resource data for creation.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            createResourceForProject: async (projectId: string, resourceForCreationDto?: ResourceForCreationDto, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('createResourceForProject', 'projectId', projectId)
                const localVarPath = `/api/v2/projects/{projectId}/resources`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                localVarHeaderParameter['Content-Type'] = 'application/json';
    
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = serializeDataIfNeeded(resourceForCreationDto, localVarRequestOptions, configuration)
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Deletes a resource for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} resourceId The ID of the resource to delete.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            deleteResourceForProject: async (projectId: string, resourceId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('deleteResourceForProject', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('deleteResourceForProject', 'resourceId', resourceId)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves a resource for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} resourceId The ID of the resource to retrieve.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getResourceForProject: async (projectId: string, resourceId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('getResourceForProject', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('getResourceForProject', 'resourceId', resourceId)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves all resources for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getResourcesForProject: async (projectId: string, pageNumber?: number, pageSize?: number, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('getResourcesForProject', 'projectId', projectId)
                const localVarPath = `/api/v2/projects/{projectId}/resources`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (pageNumber !== undefined) {
                    localVarQueryParameter['PageNumber'] = pageNumber;
                }
    
                if (pageSize !== undefined) {
                    localVarQueryParameter['PageSize'] = pageSize;
                }
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Updates a resource for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} resourceId The ID of the resource to update.
             * @param {ResourceForUpdateDto} [resourceForUpdateDto] The updated resource data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            updateResourceForProject: async (projectId: string, resourceId: string, resourceForUpdateDto?: ResourceForUpdateDto, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('updateResourceForProject', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('updateResourceForProject', 'resourceId', resourceId)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                localVarHeaderParameter['Content-Type'] = 'application/json';
    
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = serializeDataIfNeeded(resourceForUpdateDto, localVarRequestOptions, configuration)
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * ProjectResourceApi - functional programming interface
     * @export
     */
    export const ProjectResourceApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = ProjectResourceApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2ProjectsProjectIdResourcesOptions(projectId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2ProjectsProjectIdResourcesOptions(projectId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Creates a new resource for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {ResourceForCreationDto} [resourceForCreationDto] The resource data for creation.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async createResourceForProject(projectId: string, resourceForCreationDto?: ResourceForCreationDto, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ResourceDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.createResourceForProject(projectId, resourceForCreationDto, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Deletes a resource for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} resourceId The ID of the resource to delete.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async deleteResourceForProject(projectId: string, resourceId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.deleteResourceForProject(projectId, resourceId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves a resource for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} resourceId The ID of the resource to retrieve.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getResourceForProject(projectId: string, resourceId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ResourceDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getResourceForProject(projectId, resourceId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves all resources for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getResourcesForProject(projectId: string, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ResourceDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getResourcesForProject(projectId, pageNumber, pageSize, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Updates a resource for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} resourceId The ID of the resource to update.
             * @param {ResourceForUpdateDto} [resourceForUpdateDto] The updated resource data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async updateResourceForProject(projectId: string, resourceId: string, resourceForUpdateDto?: ResourceForUpdateDto, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.updateResourceForProject(projectId, resourceId, resourceForUpdateDto, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * ProjectResourceApi - factory interface
     * @export
     */
    export const ProjectResourceApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = ProjectResourceApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsProjectIdResourcesOptions(projectId: string, options?: any): AxiosPromise<void> {
                return localVarFp.apiV2ProjectsProjectIdResourcesOptions(projectId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Creates a new resource for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {ResourceForCreationDto} [resourceForCreationDto] The resource data for creation.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            createResourceForProject(projectId: string, resourceForCreationDto?: ResourceForCreationDto, options?: any): AxiosPromise<ResourceDtoResponse> {
                return localVarFp.createResourceForProject(projectId, resourceForCreationDto, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Deletes a resource for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} resourceId The ID of the resource to delete.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            deleteResourceForProject(projectId: string, resourceId: string, options?: any): AxiosPromise<void> {
                return localVarFp.deleteResourceForProject(projectId, resourceId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves a resource for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} resourceId The ID of the resource to retrieve.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getResourceForProject(projectId: string, resourceId: string, options?: any): AxiosPromise<ResourceDtoResponse> {
                return localVarFp.getResourceForProject(projectId, resourceId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves all resources for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getResourcesForProject(projectId: string, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): AxiosPromise<ResourceDtoIEnumerablePagedResponse> {
                return localVarFp.getResourcesForProject(projectId, pageNumber, pageSize, orderBy, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Updates a resource for a specified project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} resourceId The ID of the resource to update.
             * @param {ResourceForUpdateDto} [resourceForUpdateDto] The updated resource data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            updateResourceForProject(projectId: string, resourceId: string, resourceForUpdateDto?: ResourceForUpdateDto, options?: any): AxiosPromise<void> {
                return localVarFp.updateResourceForProject(projectId, resourceId, resourceForUpdateDto, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * ProjectResourceApi - object-oriented interface
     * @export
     * @class ProjectResourceApi
     * @extends {BaseAPI}
     */
    export class ProjectResourceApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {string} projectId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectResourceApi
         */
        public apiV2ProjectsProjectIdResourcesOptions(projectId: string, options?: any) {
            return ProjectResourceApiFp(this.configuration).apiV2ProjectsProjectIdResourcesOptions(projectId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Creates a new resource for a specified project.
         * @param {string} projectId The Id or slug of the project.
         * @param {ResourceForCreationDto} [resourceForCreationDto] The resource data for creation.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectResourceApi
         */
        public createResourceForProject(projectId: string, resourceForCreationDto?: ResourceForCreationDto, options?: any) {
            return ProjectResourceApiFp(this.configuration).createResourceForProject(projectId, resourceForCreationDto, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Deletes a resource for a specified project.
         * @param {string} projectId The Id or slug of the project.
         * @param {string} resourceId The ID of the resource to delete.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectResourceApi
         */
        public deleteResourceForProject(projectId: string, resourceId: string, options?: any) {
            return ProjectResourceApiFp(this.configuration).deleteResourceForProject(projectId, resourceId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves a resource for a specified project.
         * @param {string} projectId The Id or slug of the project.
         * @param {string} resourceId The ID of the resource to retrieve.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectResourceApi
         */
        public getResourceForProject(projectId: string, resourceId: string, options?: any) {
            return ProjectResourceApiFp(this.configuration).getResourceForProject(projectId, resourceId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves all resources for a specified project.
         * @param {string} projectId The Id or slug of the project.
         * @param {number} [pageNumber] 
         * @param {number} [pageSize] 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectResourceApi
         */
        public getResourcesForProject(projectId: string, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any) {
            return ProjectResourceApiFp(this.configuration).getResourcesForProject(projectId, pageNumber, pageSize, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Updates a resource for a specified project.
         * @param {string} projectId The Id or slug of the project.
         * @param {string} resourceId The ID of the resource to update.
         * @param {ResourceForUpdateDto} [resourceForUpdateDto] The updated resource data.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectResourceApi
         */
        public updateResourceForProject(projectId: string, resourceId: string, resourceForUpdateDto?: ResourceForUpdateDto, options?: any) {
            return ProjectResourceApiFp(this.configuration).updateResourceForProject(projectId, resourceId, resourceForUpdateDto, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * ProjectResourceQuotaApi - axios parameter creator
     * @export
     */
    export const ProjectResourceQuotaApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {string} resourceId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsProjectIdResourcesResourceIdQuotaOptions: async (projectId: string, resourceId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('apiV2ProjectsProjectIdResourcesResourceIdQuotaOptions', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('apiV2ProjectsProjectIdResourcesResourceIdQuotaOptions', 'resourceId', resourceId)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}/quota`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves the resource quota for a specific resource in a project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} resourceId The ID of the resource.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getQuotaForResourceForProject: async (projectId: string, resourceId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('getQuotaForResourceForProject', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('getQuotaForResourceForProject', 'resourceId', resourceId)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}/quota`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * ProjectResourceQuotaApi - functional programming interface
     * @export
     */
    export const ProjectResourceQuotaApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = ProjectResourceQuotaApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {string} resourceId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2ProjectsProjectIdResourcesResourceIdQuotaOptions(projectId: string, resourceId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2ProjectsProjectIdResourcesResourceIdQuotaOptions(projectId, resourceId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves the resource quota for a specific resource in a project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} resourceId The ID of the resource.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getQuotaForResourceForProject(projectId: string, resourceId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ResourceQuotaDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getQuotaForResourceForProject(projectId, resourceId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * ProjectResourceQuotaApi - factory interface
     * @export
     */
    export const ProjectResourceQuotaApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = ProjectResourceQuotaApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {string} resourceId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsProjectIdResourcesResourceIdQuotaOptions(projectId: string, resourceId: string, options?: any): AxiosPromise<void> {
                return localVarFp.apiV2ProjectsProjectIdResourcesResourceIdQuotaOptions(projectId, resourceId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves the resource quota for a specific resource in a project.
             * @param {string} projectId The Id or slug of the project.
             * @param {string} resourceId The ID of the resource.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getQuotaForResourceForProject(projectId: string, resourceId: string, options?: any): AxiosPromise<ResourceQuotaDtoResponse> {
                return localVarFp.getQuotaForResourceForProject(projectId, resourceId, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * ProjectResourceQuotaApi - object-oriented interface
     * @export
     * @class ProjectResourceQuotaApi
     * @extends {BaseAPI}
     */
    export class ProjectResourceQuotaApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {string} projectId 
         * @param {string} resourceId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectResourceQuotaApi
         */
        public apiV2ProjectsProjectIdResourcesResourceIdQuotaOptions(projectId: string, resourceId: string, options?: any) {
            return ProjectResourceQuotaApiFp(this.configuration).apiV2ProjectsProjectIdResourcesResourceIdQuotaOptions(projectId, resourceId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves the resource quota for a specific resource in a project.
         * @param {string} projectId The Id or slug of the project.
         * @param {string} resourceId The ID of the resource.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectResourceQuotaApi
         */
        public getQuotaForResourceForProject(projectId: string, resourceId: string, options?: any) {
            return ProjectResourceQuotaApiFp(this.configuration).getQuotaForResourceForProject(projectId, resourceId, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * ProjectResourceTypeApi - axios parameter creator
     * @export
     */
    export const ProjectResourceTypeApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsProjectIdResourceTypesOptions: async (projectId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('apiV2ProjectsProjectIdResourceTypesOptions', 'projectId', projectId)
                const localVarPath = `/api/v2/projects/{projectId}/resource-types`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves the available resource types information for a specific project.
             * @param {string} projectId The Id or slug of the project.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getAvailableResourceTypesInformationForProject: async (projectId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('getAvailableResourceTypesInformationForProject', 'projectId', projectId)
                const localVarPath = `/api/v2/projects/{projectId}/resource-types`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * ProjectResourceTypeApi - functional programming interface
     * @export
     */
    export const ProjectResourceTypeApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = ProjectResourceTypeApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2ProjectsProjectIdResourceTypesOptions(projectId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2ProjectsProjectIdResourceTypesOptions(projectId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves the available resource types information for a specific project.
             * @param {string} projectId The Id or slug of the project.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getAvailableResourceTypesInformationForProject(projectId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ResourceTypeInformationDtoIEnumerableResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getAvailableResourceTypesInformationForProject(projectId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * ProjectResourceTypeApi - factory interface
     * @export
     */
    export const ProjectResourceTypeApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = ProjectResourceTypeApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsProjectIdResourceTypesOptions(projectId: string, options?: any): AxiosPromise<void> {
                return localVarFp.apiV2ProjectsProjectIdResourceTypesOptions(projectId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves the available resource types information for a specific project.
             * @param {string} projectId The Id or slug of the project.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getAvailableResourceTypesInformationForProject(projectId: string, options?: any): AxiosPromise<ResourceTypeInformationDtoIEnumerableResponse> {
                return localVarFp.getAvailableResourceTypesInformationForProject(projectId, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * ProjectResourceTypeApi - object-oriented interface
     * @export
     * @class ProjectResourceTypeApi
     * @extends {BaseAPI}
     */
    export class ProjectResourceTypeApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {string} projectId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectResourceTypeApi
         */
        public apiV2ProjectsProjectIdResourceTypesOptions(projectId: string, options?: any) {
            return ProjectResourceTypeApiFp(this.configuration).apiV2ProjectsProjectIdResourceTypesOptions(projectId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves the available resource types information for a specific project.
         * @param {string} projectId The Id or slug of the project.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ProjectResourceTypeApi
         */
        public getAvailableResourceTypesInformationForProject(projectId: string, options?: any) {
            return ProjectResourceTypeApiFp(this.configuration).getAvailableResourceTypesInformationForProject(projectId, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * ResourceApi - axios parameter creator
     * @export
     */
    export const ResourceApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ResourcesOptions: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/resources`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves a resource by its ID.
             * @param {string} resourceId The ID of the resource to retrieve.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getResource: async (resourceId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('getResource', 'resourceId', resourceId)
                const localVarPath = `/api/v2/resources/{resourceId}`
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * ResourceApi - functional programming interface
     * @export
     */
    export const ResourceApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = ResourceApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2ResourcesOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2ResourcesOptions(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves a resource by its ID.
             * @param {string} resourceId The ID of the resource to retrieve.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getResource(resourceId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ResourceDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getResource(resourceId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * ResourceApi - factory interface
     * @export
     */
    export const ResourceApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = ResourceApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ResourcesOptions(options?: any): AxiosPromise<void> {
                return localVarFp.apiV2ResourcesOptions(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves a resource by its ID.
             * @param {string} resourceId The ID of the resource to retrieve.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getResource(resourceId: string, options?: any): AxiosPromise<ResourceDtoResponse> {
                return localVarFp.getResource(resourceId, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * ResourceApi - object-oriented interface
     * @export
     * @class ResourceApi
     * @extends {BaseAPI}
     */
    export class ResourceApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ResourceApi
         */
        public apiV2ResourcesOptions(options?: any) {
            return ResourceApiFp(this.configuration).apiV2ResourcesOptions(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves a resource by its ID.
         * @param {string} resourceId The ID of the resource to retrieve.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ResourceApi
         */
        public getResource(resourceId: string, options?: any) {
            return ResourceApiFp(this.configuration).getResource(resourceId, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * ResourceTypeApi - axios parameter creator
     * @export
     */
    export const ResourceTypeApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ResourceTypesOptions: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/resource-types`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves all branches of a GitLab project, that the user is a member of, based on the provided credentials.
             * @param {number} gitlabProjectId The ID of the GitLab project.
             * @param {string} domain 
             * @param {string} accessToken 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getAllGitlabBranchesForProject: async (gitlabProjectId: number, domain: string, accessToken: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'gitlabProjectId' is not null or undefined
                assertParamExists('getAllGitlabBranchesForProject', 'gitlabProjectId', gitlabProjectId)
                // verify required parameter 'domain' is not null or undefined
                assertParamExists('getAllGitlabBranchesForProject', 'domain', domain)
                // verify required parameter 'accessToken' is not null or undefined
                assertParamExists('getAllGitlabBranchesForProject', 'accessToken', accessToken)
                const localVarPath = `/api/v2/resource-types/gitlab/projects/{gitlabProjectId}/branches`
                    .replace(`{${"gitlabProjectId"}}`, encodeURIComponent(String(gitlabProjectId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (domain !== undefined) {
                    localVarQueryParameter['Domain'] = domain;
                }
    
                if (accessToken !== undefined) {
                    localVarQueryParameter['AccessToken'] = accessToken;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves all GitLab projects, that the user is a member of, based on the provided credentials.
             * @param {string} domain 
             * @param {string} accessToken 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getAllGitlabProjects: async (domain: string, accessToken: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'domain' is not null or undefined
                assertParamExists('getAllGitlabProjects', 'domain', domain)
                // verify required parameter 'accessToken' is not null or undefined
                assertParamExists('getAllGitlabProjects', 'accessToken', accessToken)
                const localVarPath = `/api/v2/resource-types/gitlab/projects`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (domain !== undefined) {
                    localVarQueryParameter['Domain'] = domain;
                }
    
                if (accessToken !== undefined) {
                    localVarQueryParameter['AccessToken'] = accessToken;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves the entire global resource types information.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getAllResourceTypesInformation: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/resource-types/types`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves a single GitLab project, that the user is a member of, based on the provided credentials.
             * @param {number} gitlabProjectId The ID of the GitLab project.
             * @param {string} domain 
             * @param {string} accessToken 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getGitlabProject: async (gitlabProjectId: number, domain: string, accessToken: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'gitlabProjectId' is not null or undefined
                assertParamExists('getGitlabProject', 'gitlabProjectId', gitlabProjectId)
                // verify required parameter 'domain' is not null or undefined
                assertParamExists('getGitlabProject', 'domain', domain)
                // verify required parameter 'accessToken' is not null or undefined
                assertParamExists('getGitlabProject', 'accessToken', accessToken)
                const localVarPath = `/api/v2/resource-types/gitlab/projects/{gitlabProjectId}`
                    .replace(`{${"gitlabProjectId"}}`, encodeURIComponent(String(gitlabProjectId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (domain !== undefined) {
                    localVarQueryParameter['Domain'] = domain;
                }
    
                if (accessToken !== undefined) {
                    localVarQueryParameter['AccessToken'] = accessToken;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves the resource type information for a specific resource type.
             * @param {string} resourceTypeId The ID of the resource type to retrieve.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getResourceTypeInformation: async (resourceTypeId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'resourceTypeId' is not null or undefined
                assertParamExists('getResourceTypeInformation', 'resourceTypeId', resourceTypeId)
                const localVarPath = `/api/v2/resource-types/types/{resourceTypeId}`
                    .replace(`{${"resourceTypeId"}}`, encodeURIComponent(String(resourceTypeId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * ResourceTypeApi - functional programming interface
     * @export
     */
    export const ResourceTypeApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = ResourceTypeApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2ResourceTypesOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2ResourceTypesOptions(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves all branches of a GitLab project, that the user is a member of, based on the provided credentials.
             * @param {number} gitlabProjectId The ID of the GitLab project.
             * @param {string} domain 
             * @param {string} accessToken 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getAllGitlabBranchesForProject(gitlabProjectId: number, domain: string, accessToken: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GitlabBranchDtoIEnumerableResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getAllGitlabBranchesForProject(gitlabProjectId, domain, accessToken, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves all GitLab projects, that the user is a member of, based on the provided credentials.
             * @param {string} domain 
             * @param {string} accessToken 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getAllGitlabProjects(domain: string, accessToken: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GitlabProjectDtoIEnumerableResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getAllGitlabProjects(domain, accessToken, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves the entire global resource types information.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getAllResourceTypesInformation(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ResourceTypeInformationDtoIEnumerableResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getAllResourceTypesInformation(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves a single GitLab project, that the user is a member of, based on the provided credentials.
             * @param {number} gitlabProjectId The ID of the GitLab project.
             * @param {string} domain 
             * @param {string} accessToken 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getGitlabProject(gitlabProjectId: number, domain: string, accessToken: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GitlabProjectDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getGitlabProject(gitlabProjectId, domain, accessToken, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves the resource type information for a specific resource type.
             * @param {string} resourceTypeId The ID of the resource type to retrieve.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getResourceTypeInformation(resourceTypeId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ResourceTypeInformationDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getResourceTypeInformation(resourceTypeId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * ResourceTypeApi - factory interface
     * @export
     */
    export const ResourceTypeApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = ResourceTypeApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ResourceTypesOptions(options?: any): AxiosPromise<void> {
                return localVarFp.apiV2ResourceTypesOptions(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves all branches of a GitLab project, that the user is a member of, based on the provided credentials.
             * @param {number} gitlabProjectId The ID of the GitLab project.
             * @param {string} domain 
             * @param {string} accessToken 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getAllGitlabBranchesForProject(gitlabProjectId: number, domain: string, accessToken: string, options?: any): AxiosPromise<GitlabBranchDtoIEnumerableResponse> {
                return localVarFp.getAllGitlabBranchesForProject(gitlabProjectId, domain, accessToken, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves all GitLab projects, that the user is a member of, based on the provided credentials.
             * @param {string} domain 
             * @param {string} accessToken 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getAllGitlabProjects(domain: string, accessToken: string, options?: any): AxiosPromise<GitlabProjectDtoIEnumerableResponse> {
                return localVarFp.getAllGitlabProjects(domain, accessToken, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves the entire global resource types information.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getAllResourceTypesInformation(options?: any): AxiosPromise<ResourceTypeInformationDtoIEnumerableResponse> {
                return localVarFp.getAllResourceTypesInformation(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves a single GitLab project, that the user is a member of, based on the provided credentials.
             * @param {number} gitlabProjectId The ID of the GitLab project.
             * @param {string} domain 
             * @param {string} accessToken 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getGitlabProject(gitlabProjectId: number, domain: string, accessToken: string, options?: any): AxiosPromise<GitlabProjectDtoResponse> {
                return localVarFp.getGitlabProject(gitlabProjectId, domain, accessToken, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves the resource type information for a specific resource type.
             * @param {string} resourceTypeId The ID of the resource type to retrieve.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getResourceTypeInformation(resourceTypeId: string, options?: any): AxiosPromise<ResourceTypeInformationDtoResponse> {
                return localVarFp.getResourceTypeInformation(resourceTypeId, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * ResourceTypeApi - object-oriented interface
     * @export
     * @class ResourceTypeApi
     * @extends {BaseAPI}
     */
    export class ResourceTypeApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ResourceTypeApi
         */
        public apiV2ResourceTypesOptions(options?: any) {
            return ResourceTypeApiFp(this.configuration).apiV2ResourceTypesOptions(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves all branches of a GitLab project, that the user is a member of, based on the provided credentials.
         * @param {number} gitlabProjectId The ID of the GitLab project.
         * @param {string} domain 
         * @param {string} accessToken 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ResourceTypeApi
         */
        public getAllGitlabBranchesForProject(gitlabProjectId: number, domain: string, accessToken: string, options?: any) {
            return ResourceTypeApiFp(this.configuration).getAllGitlabBranchesForProject(gitlabProjectId, domain, accessToken, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves all GitLab projects, that the user is a member of, based on the provided credentials.
         * @param {string} domain 
         * @param {string} accessToken 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ResourceTypeApi
         */
        public getAllGitlabProjects(domain: string, accessToken: string, options?: any) {
            return ResourceTypeApiFp(this.configuration).getAllGitlabProjects(domain, accessToken, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves the entire global resource types information.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ResourceTypeApi
         */
        public getAllResourceTypesInformation(options?: any) {
            return ResourceTypeApiFp(this.configuration).getAllResourceTypesInformation(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves a single GitLab project, that the user is a member of, based on the provided credentials.
         * @param {number} gitlabProjectId The ID of the GitLab project.
         * @param {string} domain 
         * @param {string} accessToken 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ResourceTypeApi
         */
        public getGitlabProject(gitlabProjectId: number, domain: string, accessToken: string, options?: any) {
            return ResourceTypeApiFp(this.configuration).getGitlabProject(gitlabProjectId, domain, accessToken, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves the resource type information for a specific resource type.
         * @param {string} resourceTypeId The ID of the resource type to retrieve.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof ResourceTypeApi
         */
        public getResourceTypeInformation(resourceTypeId: string, options?: any) {
            return ResourceTypeApiFp(this.configuration).getResourceTypeInformation(resourceTypeId, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * RoleApi - axios parameter creator
     * @export
     */
    export const RoleApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2RolesOptions: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/roles`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves a role by ID.
             * @param {string} roleId The ID of the role.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getRole: async (roleId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'roleId' is not null or undefined
                assertParamExists('getRole', 'roleId', roleId)
                const localVarPath = `/api/v2/roles/{roleId}`
                    .replace(`{${"roleId"}}`, encodeURIComponent(String(roleId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves all roles.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getRoles: async (pageNumber?: number, pageSize?: number, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/roles`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (pageNumber !== undefined) {
                    localVarQueryParameter['PageNumber'] = pageNumber;
                }
    
                if (pageSize !== undefined) {
                    localVarQueryParameter['PageSize'] = pageSize;
                }
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * RoleApi - functional programming interface
     * @export
     */
    export const RoleApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = RoleApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2RolesOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2RolesOptions(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves a role by ID.
             * @param {string} roleId The ID of the role.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getRole(roleId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RoleDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getRole(roleId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves all roles.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getRoles(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RoleDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getRoles(pageNumber, pageSize, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * RoleApi - factory interface
     * @export
     */
    export const RoleApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = RoleApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2RolesOptions(options?: any): AxiosPromise<void> {
                return localVarFp.apiV2RolesOptions(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves a role by ID.
             * @param {string} roleId The ID of the role.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getRole(roleId: string, options?: any): AxiosPromise<RoleDtoResponse> {
                return localVarFp.getRole(roleId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves all roles.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getRoles(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): AxiosPromise<RoleDtoIEnumerablePagedResponse> {
                return localVarFp.getRoles(pageNumber, pageSize, orderBy, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * RoleApi - object-oriented interface
     * @export
     * @class RoleApi
     * @extends {BaseAPI}
     */
    export class RoleApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof RoleApi
         */
        public apiV2RolesOptions(options?: any) {
            return RoleApiFp(this.configuration).apiV2RolesOptions(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves a role by ID.
         * @param {string} roleId The ID of the role.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof RoleApi
         */
        public getRole(roleId: string, options?: any) {
            return RoleApiFp(this.configuration).getRole(roleId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves all roles.
         * @param {number} [pageNumber] 
         * @param {number} [pageSize] 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof RoleApi
         */
        public getRoles(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any) {
            return RoleApiFp(this.configuration).getRoles(pageNumber, pageSize, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * SelfApi - axios parameter creator
     * @export
     */
    export const SelfApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Accepts the current Terms Of Service for the current authenticated user.
             * @param {UserTermsOfServiceAcceptDto} [userTermsOfServiceAcceptDto] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            acceptCurrentTos: async (userTermsOfServiceAcceptDto?: UserTermsOfServiceAcceptDto, options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/self/tos`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                localVarHeaderParameter['Content-Type'] = 'application/json';
    
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = serializeDataIfNeeded(userTermsOfServiceAcceptDto, localVarRequestOptions, configuration)
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2SelfOptions: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/self`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Confirms the email of a user.
             * @param {string} confirmationToken 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            confirmUserEmail: async (confirmationToken: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'confirmationToken' is not null or undefined
                assertParamExists('confirmUserEmail', 'confirmationToken', confirmationToken)
                const localVarPath = `/api/v2/self/emails`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (confirmationToken !== undefined) {
                    localVarQueryParameter['ConfirmationToken'] = confirmationToken;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves the current authenticated user.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getCurrentUser: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/self`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Initiates user merging for the current user.
             * @param {IdentityProviders} identityProvider 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            initiateUserMerge: async (identityProvider: IdentityProviders, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'identityProvider' is not null or undefined
                assertParamExists('initiateUserMerge', 'identityProvider', identityProvider)
                const localVarPath = `/api/v2/self/identities`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (identityProvider !== undefined) {
                    localVarQueryParameter['IdentityProvider'] = identityProvider;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Resolves a project invitation for the authenticated user.
             * @param {ProjectInvitationResolveDto} [projectInvitationResolveDto] The project invitation resolve data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            resolveProjectInvitation: async (projectInvitationResolveDto?: ProjectInvitationResolveDto, options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/self/project-invitations`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                localVarHeaderParameter['Content-Type'] = 'application/json';
    
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = serializeDataIfNeeded(projectInvitationResolveDto, localVarRequestOptions, configuration)
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Updates the current authenticated user.
             * @param {UserForUpdateDto} [userForUpdateDto] The updated user data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            updateCurrentUser: async (userForUpdateDto?: UserForUpdateDto, options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/self`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                localVarHeaderParameter['Content-Type'] = 'application/json';
    
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = serializeDataIfNeeded(userForUpdateDto, localVarRequestOptions, configuration)
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * SelfApi - functional programming interface
     * @export
     */
    export const SelfApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = SelfApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Accepts the current Terms Of Service for the current authenticated user.
             * @param {UserTermsOfServiceAcceptDto} [userTermsOfServiceAcceptDto] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async acceptCurrentTos(userTermsOfServiceAcceptDto?: UserTermsOfServiceAcceptDto, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.acceptCurrentTos(userTermsOfServiceAcceptDto, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2SelfOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2SelfOptions(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Confirms the email of a user.
             * @param {string} confirmationToken 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async confirmUserEmail(confirmationToken: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.confirmUserEmail(confirmationToken, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves the current authenticated user.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getCurrentUser(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getCurrentUser(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Initiates user merging for the current user.
             * @param {IdentityProviders} identityProvider 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async initiateUserMerge(identityProvider: IdentityProviders, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserMergeDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.initiateUserMerge(identityProvider, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Resolves a project invitation for the authenticated user.
             * @param {ProjectInvitationResolveDto} [projectInvitationResolveDto] The project invitation resolve data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async resolveProjectInvitation(projectInvitationResolveDto?: ProjectInvitationResolveDto, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.resolveProjectInvitation(projectInvitationResolveDto, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Updates the current authenticated user.
             * @param {UserForUpdateDto} [userForUpdateDto] The updated user data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async updateCurrentUser(userForUpdateDto?: UserForUpdateDto, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.updateCurrentUser(userForUpdateDto, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * SelfApi - factory interface
     * @export
     */
    export const SelfApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = SelfApiFp(configuration)
        return {
            /**
             * 
             * @summary Accepts the current Terms Of Service for the current authenticated user.
             * @param {UserTermsOfServiceAcceptDto} [userTermsOfServiceAcceptDto] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            acceptCurrentTos(userTermsOfServiceAcceptDto?: UserTermsOfServiceAcceptDto, options?: any): AxiosPromise<void> {
                return localVarFp.acceptCurrentTos(userTermsOfServiceAcceptDto, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2SelfOptions(options?: any): AxiosPromise<void> {
                return localVarFp.apiV2SelfOptions(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Confirms the email of a user.
             * @param {string} confirmationToken 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            confirmUserEmail(confirmationToken: string, options?: any): AxiosPromise<void> {
                return localVarFp.confirmUserEmail(confirmationToken, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves the current authenticated user.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getCurrentUser(options?: any): AxiosPromise<UserDtoResponse> {
                return localVarFp.getCurrentUser(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Initiates user merging for the current user.
             * @param {IdentityProviders} identityProvider 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            initiateUserMerge(identityProvider: IdentityProviders, options?: any): AxiosPromise<UserMergeDtoResponse> {
                return localVarFp.initiateUserMerge(identityProvider, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Resolves a project invitation for the authenticated user.
             * @param {ProjectInvitationResolveDto} [projectInvitationResolveDto] The project invitation resolve data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            resolveProjectInvitation(projectInvitationResolveDto?: ProjectInvitationResolveDto, options?: any): AxiosPromise<void> {
                return localVarFp.resolveProjectInvitation(projectInvitationResolveDto, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Updates the current authenticated user.
             * @param {UserForUpdateDto} [userForUpdateDto] The updated user data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            updateCurrentUser(userForUpdateDto?: UserForUpdateDto, options?: any): AxiosPromise<void> {
                return localVarFp.updateCurrentUser(userForUpdateDto, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * SelfApi - object-oriented interface
     * @export
     * @class SelfApi
     * @extends {BaseAPI}
     */
    export class SelfApi extends BaseAPI {
        /**
         * 
         * @summary Accepts the current Terms Of Service for the current authenticated user.
         * @param {UserTermsOfServiceAcceptDto} [userTermsOfServiceAcceptDto] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof SelfApi
         */
        public acceptCurrentTos(userTermsOfServiceAcceptDto?: UserTermsOfServiceAcceptDto, options?: any) {
            return SelfApiFp(this.configuration).acceptCurrentTos(userTermsOfServiceAcceptDto, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof SelfApi
         */
        public apiV2SelfOptions(options?: any) {
            return SelfApiFp(this.configuration).apiV2SelfOptions(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Confirms the email of a user.
         * @param {string} confirmationToken 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof SelfApi
         */
        public confirmUserEmail(confirmationToken: string, options?: any) {
            return SelfApiFp(this.configuration).confirmUserEmail(confirmationToken, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves the current authenticated user.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof SelfApi
         */
        public getCurrentUser(options?: any) {
            return SelfApiFp(this.configuration).getCurrentUser(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Initiates user merging for the current user.
         * @param {IdentityProviders} identityProvider 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof SelfApi
         */
        public initiateUserMerge(identityProvider: IdentityProviders, options?: any) {
            return SelfApiFp(this.configuration).initiateUserMerge(identityProvider, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Resolves a project invitation for the authenticated user.
         * @param {ProjectInvitationResolveDto} [projectInvitationResolveDto] The project invitation resolve data.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof SelfApi
         */
        public resolveProjectInvitation(projectInvitationResolveDto?: ProjectInvitationResolveDto, options?: any) {
            return SelfApiFp(this.configuration).resolveProjectInvitation(projectInvitationResolveDto, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Updates the current authenticated user.
         * @param {UserForUpdateDto} [userForUpdateDto] The updated user data.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof SelfApi
         */
        public updateCurrentUser(userForUpdateDto?: UserForUpdateDto, options?: any) {
            return SelfApiFp(this.configuration).updateCurrentUser(userForUpdateDto, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * SelfApiTokenApi - axios parameter creator
     * @export
     */
    export const SelfApiTokenApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2SelfApiTokensOptions: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/self/api-tokens`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Creates an API token for the current authenticated user.
             * @param {ApiTokenForCreationDto} [apiTokenForCreationDto] The API token data for creation.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            createApiToken: async (apiTokenForCreationDto?: ApiTokenForCreationDto, options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/self/api-tokens`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                localVarHeaderParameter['Content-Type'] = 'application/json';
    
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = serializeDataIfNeeded(apiTokenForCreationDto, localVarRequestOptions, configuration)
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves all API tokens for the current authenticated user.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getAllApiTokens: async (pageNumber?: number, pageSize?: number, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/self/api-tokens`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (pageNumber !== undefined) {
                    localVarQueryParameter['PageNumber'] = pageNumber;
                }
    
                if (pageSize !== undefined) {
                    localVarQueryParameter['PageSize'] = pageSize;
                }
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves an API token for the current authenticated user.
             * @param {string} apiTokenId The ID of the token.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getApiToken: async (apiTokenId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'apiTokenId' is not null or undefined
                assertParamExists('getApiToken', 'apiTokenId', apiTokenId)
                const localVarPath = `/api/v2/self/api-tokens/{apiTokenId}`
                    .replace(`{${"apiTokenId"}}`, encodeURIComponent(String(apiTokenId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Revokes an API token for the current authenticated user.
             * @param {string} apiTokenId The ID of the token.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            revokeToken: async (apiTokenId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'apiTokenId' is not null or undefined
                assertParamExists('revokeToken', 'apiTokenId', apiTokenId)
                const localVarPath = `/api/v2/self/api-tokens/{apiTokenId}`
                    .replace(`{${"apiTokenId"}}`, encodeURIComponent(String(apiTokenId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * SelfApiTokenApi - functional programming interface
     * @export
     */
    export const SelfApiTokenApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = SelfApiTokenApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2SelfApiTokensOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2SelfApiTokensOptions(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Creates an API token for the current authenticated user.
             * @param {ApiTokenForCreationDto} [apiTokenForCreationDto] The API token data for creation.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async createApiToken(apiTokenForCreationDto?: ApiTokenForCreationDto, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiTokenDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.createApiToken(apiTokenForCreationDto, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves all API tokens for the current authenticated user.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getAllApiTokens(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiTokenDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getAllApiTokens(pageNumber, pageSize, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves an API token for the current authenticated user.
             * @param {string} apiTokenId The ID of the token.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getApiToken(apiTokenId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ApiTokenDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getApiToken(apiTokenId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Revokes an API token for the current authenticated user.
             * @param {string} apiTokenId The ID of the token.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async revokeToken(apiTokenId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.revokeToken(apiTokenId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * SelfApiTokenApi - factory interface
     * @export
     */
    export const SelfApiTokenApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = SelfApiTokenApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2SelfApiTokensOptions(options?: any): AxiosPromise<void> {
                return localVarFp.apiV2SelfApiTokensOptions(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Creates an API token for the current authenticated user.
             * @param {ApiTokenForCreationDto} [apiTokenForCreationDto] The API token data for creation.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            createApiToken(apiTokenForCreationDto?: ApiTokenForCreationDto, options?: any): AxiosPromise<ApiTokenDtoResponse> {
                return localVarFp.createApiToken(apiTokenForCreationDto, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves all API tokens for the current authenticated user.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getAllApiTokens(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): AxiosPromise<ApiTokenDtoIEnumerablePagedResponse> {
                return localVarFp.getAllApiTokens(pageNumber, pageSize, orderBy, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves an API token for the current authenticated user.
             * @param {string} apiTokenId The ID of the token.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getApiToken(apiTokenId: string, options?: any): AxiosPromise<ApiTokenDtoResponse> {
                return localVarFp.getApiToken(apiTokenId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Revokes an API token for the current authenticated user.
             * @param {string} apiTokenId The ID of the token.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            revokeToken(apiTokenId: string, options?: any): AxiosPromise<void> {
                return localVarFp.revokeToken(apiTokenId, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * SelfApiTokenApi - object-oriented interface
     * @export
     * @class SelfApiTokenApi
     * @extends {BaseAPI}
     */
    export class SelfApiTokenApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof SelfApiTokenApi
         */
        public apiV2SelfApiTokensOptions(options?: any) {
            return SelfApiTokenApiFp(this.configuration).apiV2SelfApiTokensOptions(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Creates an API token for the current authenticated user.
         * @param {ApiTokenForCreationDto} [apiTokenForCreationDto] The API token data for creation.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof SelfApiTokenApi
         */
        public createApiToken(apiTokenForCreationDto?: ApiTokenForCreationDto, options?: any) {
            return SelfApiTokenApiFp(this.configuration).createApiToken(apiTokenForCreationDto, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves all API tokens for the current authenticated user.
         * @param {number} [pageNumber] 
         * @param {number} [pageSize] 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof SelfApiTokenApi
         */
        public getAllApiTokens(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any) {
            return SelfApiTokenApiFp(this.configuration).getAllApiTokens(pageNumber, pageSize, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves an API token for the current authenticated user.
         * @param {string} apiTokenId The ID of the token.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof SelfApiTokenApi
         */
        public getApiToken(apiTokenId: string, options?: any) {
            return SelfApiTokenApiFp(this.configuration).getApiToken(apiTokenId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Revokes an API token for the current authenticated user.
         * @param {string} apiTokenId The ID of the token.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof SelfApiTokenApi
         */
        public revokeToken(apiTokenId: string, options?: any) {
            return SelfApiTokenApiFp(this.configuration).revokeToken(apiTokenId, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * TitleApi - axios parameter creator
     * @export
     */
    export const TitleApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2TitlesOptions: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/titles`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves a title by ID.
             * @param {string} titleId The ID of the title.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getTitle: async (titleId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'titleId' is not null or undefined
                assertParamExists('getTitle', 'titleId', titleId)
                const localVarPath = `/api/v2/titles/{titleId}`
                    .replace(`{${"titleId"}}`, encodeURIComponent(String(titleId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves all titles.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getTitles: async (pageNumber?: number, pageSize?: number, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/titles`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (pageNumber !== undefined) {
                    localVarQueryParameter['PageNumber'] = pageNumber;
                }
    
                if (pageSize !== undefined) {
                    localVarQueryParameter['PageSize'] = pageSize;
                }
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * TitleApi - functional programming interface
     * @export
     */
    export const TitleApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = TitleApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2TitlesOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2TitlesOptions(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves a title by ID.
             * @param {string} titleId The ID of the title.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getTitle(titleId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TitleDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getTitle(titleId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves all titles.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getTitles(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TitleDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getTitles(pageNumber, pageSize, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * TitleApi - factory interface
     * @export
     */
    export const TitleApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = TitleApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2TitlesOptions(options?: any): AxiosPromise<void> {
                return localVarFp.apiV2TitlesOptions(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves a title by ID.
             * @param {string} titleId The ID of the title.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getTitle(titleId: string, options?: any): AxiosPromise<TitleDtoResponse> {
                return localVarFp.getTitle(titleId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves all titles.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getTitles(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): AxiosPromise<TitleDtoIEnumerablePagedResponse> {
                return localVarFp.getTitles(pageNumber, pageSize, orderBy, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * TitleApi - object-oriented interface
     * @export
     * @class TitleApi
     * @extends {BaseAPI}
     */
    export class TitleApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof TitleApi
         */
        public apiV2TitlesOptions(options?: any) {
            return TitleApiFp(this.configuration).apiV2TitlesOptions(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves a title by ID.
         * @param {string} titleId The ID of the title.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof TitleApi
         */
        public getTitle(titleId: string, options?: any) {
            return TitleApiFp(this.configuration).getTitle(titleId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves all titles.
         * @param {number} [pageNumber] 
         * @param {number} [pageSize] 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof TitleApi
         */
        public getTitles(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any) {
            return TitleApiFp(this.configuration).getTitles(pageNumber, pageSize, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * TosApi - axios parameter creator
     * @export
     */
    export const TosApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2TosOptions: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/tos`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves the current Terms of Service version.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getTos: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/tos`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * TosApi - functional programming interface
     * @export
     */
    export const TosApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = TosApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2TosOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2TosOptions(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves the current Terms of Service version.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getTos(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TermsOfServiceDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getTos(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * TosApi - factory interface
     * @export
     */
    export const TosApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = TosApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2TosOptions(options?: any): AxiosPromise<void> {
                return localVarFp.apiV2TosOptions(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves the current Terms of Service version.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getTos(options?: any): AxiosPromise<TermsOfServiceDtoResponse> {
                return localVarFp.getTos(options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * TosApi - object-oriented interface
     * @export
     * @class TosApi
     * @extends {BaseAPI}
     */
    export class TosApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof TosApi
         */
        public apiV2TosOptions(options?: any) {
            return TosApiFp(this.configuration).apiV2TosOptions(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves the current Terms of Service version.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof TosApi
         */
        public getTos(options?: any) {
            return TosApiFp(this.configuration).getTos(options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * TreeApi - axios parameter creator
     * @export
     */
    export const TreeApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {string} resourceId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsProjectIdResourcesResourceIdTreesOptions: async (projectId: string, resourceId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('apiV2ProjectsProjectIdResourcesResourceIdTreesOptions', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('apiV2ProjectsProjectIdResourcesResourceIdTreesOptions', 'resourceId', resourceId)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}/trees`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Creates a new metadata tree for a resource.
             * @param {string} projectId The unique identifier or slug of the project.
             * @param {string} resourceId The unique identifier of the resource.
             * @param {MetadataTreeForCreationDto} [metadataTreeForCreationDto] The metadata tree data for creation.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            createMetadataTree: async (projectId: string, resourceId: string, metadataTreeForCreationDto?: MetadataTreeForCreationDto, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('createMetadataTree', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('createMetadataTree', 'resourceId', resourceId)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}/trees/metadata`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                localVarHeaderParameter['Content-Type'] = 'application/json';
    
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = serializeDataIfNeeded(metadataTreeForCreationDto, localVarRequestOptions, configuration)
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * The `OrderBy` query is currently not supported.
             * @summary Retrieves the file tree associated with a resource.
             * @param {string} projectId The unique identifier or slug of the project.
             * @param {string} resourceId The unique identifier of the resource.
             * @param {string} [path] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getFileTree: async (projectId: string, resourceId: string, path?: string, pageNumber?: number, pageSize?: number, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('getFileTree', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('getFileTree', 'resourceId', resourceId)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}/trees/files`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (path !== undefined) {
                    localVarQueryParameter['Path'] = path;
                }
    
                if (pageNumber !== undefined) {
                    localVarQueryParameter['PageNumber'] = pageNumber;
                }
    
                if (pageSize !== undefined) {
                    localVarQueryParameter['PageSize'] = pageSize;
                }
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves the metadata tree associated with a resource.
             * @param {string} projectId The unique identifier or slug of the project.
             * @param {string} resourceId The unique identifier of the resource.
             * @param {string} [path] 
             * @param {RdfFormat} [format] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getMetadataTree: async (projectId: string, resourceId: string, path?: string, format?: RdfFormat, pageNumber?: number, pageSize?: number, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('getMetadataTree', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('getMetadataTree', 'resourceId', resourceId)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}/trees/metadata`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (path !== undefined) {
                    localVarQueryParameter['Path'] = path;
                }
    
                if (format !== undefined) {
                    localVarQueryParameter['Format'] = format;
                }
    
                if (pageNumber !== undefined) {
                    localVarQueryParameter['PageNumber'] = pageNumber;
                }
    
                if (pageSize !== undefined) {
                    localVarQueryParameter['PageSize'] = pageSize;
                }
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Updates an existing metadata tree of a resource.
             * @param {string} projectId The unique identifier or slug of the project.
             * @param {string} resourceId The unique identifier of the resource.
             * @param {MetadataTreeForUpdateDto} [metadataTreeForUpdateDto] The updated metadata tree data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            updateMetadataTree: async (projectId: string, resourceId: string, metadataTreeForUpdateDto?: MetadataTreeForUpdateDto, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'projectId' is not null or undefined
                assertParamExists('updateMetadataTree', 'projectId', projectId)
                // verify required parameter 'resourceId' is not null or undefined
                assertParamExists('updateMetadataTree', 'resourceId', resourceId)
                const localVarPath = `/api/v2/projects/{projectId}/resources/{resourceId}/trees/metadata`
                    .replace(`{${"projectId"}}`, encodeURIComponent(String(projectId)))
                    .replace(`{${"resourceId"}}`, encodeURIComponent(String(resourceId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                localVarHeaderParameter['Content-Type'] = 'application/json';
    
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
                localVarRequestOptions.data = serializeDataIfNeeded(metadataTreeForUpdateDto, localVarRequestOptions, configuration)
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * TreeApi - functional programming interface
     * @export
     */
    export const TreeApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = TreeApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {string} resourceId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2ProjectsProjectIdResourcesResourceIdTreesOptions(projectId: string, resourceId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2ProjectsProjectIdResourcesResourceIdTreesOptions(projectId, resourceId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Creates a new metadata tree for a resource.
             * @param {string} projectId The unique identifier or slug of the project.
             * @param {string} resourceId The unique identifier of the resource.
             * @param {MetadataTreeForCreationDto} [metadataTreeForCreationDto] The metadata tree data for creation.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async createMetadataTree(projectId: string, resourceId: string, metadataTreeForCreationDto?: MetadataTreeForCreationDto, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MetadataTreeDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.createMetadataTree(projectId, resourceId, metadataTreeForCreationDto, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * The `OrderBy` query is currently not supported.
             * @summary Retrieves the file tree associated with a resource.
             * @param {string} projectId The unique identifier or slug of the project.
             * @param {string} resourceId The unique identifier of the resource.
             * @param {string} [path] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getFileTree(projectId: string, resourceId: string, path?: string, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<FileTreeDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getFileTree(projectId, resourceId, path, pageNumber, pageSize, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves the metadata tree associated with a resource.
             * @param {string} projectId The unique identifier or slug of the project.
             * @param {string} resourceId The unique identifier of the resource.
             * @param {string} [path] 
             * @param {RdfFormat} [format] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getMetadataTree(projectId: string, resourceId: string, path?: string, format?: RdfFormat, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MetadataTreeDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getMetadataTree(projectId, resourceId, path, format, pageNumber, pageSize, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Updates an existing metadata tree of a resource.
             * @param {string} projectId The unique identifier or slug of the project.
             * @param {string} resourceId The unique identifier of the resource.
             * @param {MetadataTreeForUpdateDto} [metadataTreeForUpdateDto] The updated metadata tree data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async updateMetadataTree(projectId: string, resourceId: string, metadataTreeForUpdateDto?: MetadataTreeForUpdateDto, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.updateMetadataTree(projectId, resourceId, metadataTreeForUpdateDto, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * TreeApi - factory interface
     * @export
     */
    export const TreeApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = TreeApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {string} projectId 
             * @param {string} resourceId 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2ProjectsProjectIdResourcesResourceIdTreesOptions(projectId: string, resourceId: string, options?: any): AxiosPromise<void> {
                return localVarFp.apiV2ProjectsProjectIdResourcesResourceIdTreesOptions(projectId, resourceId, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Creates a new metadata tree for a resource.
             * @param {string} projectId The unique identifier or slug of the project.
             * @param {string} resourceId The unique identifier of the resource.
             * @param {MetadataTreeForCreationDto} [metadataTreeForCreationDto] The metadata tree data for creation.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            createMetadataTree(projectId: string, resourceId: string, metadataTreeForCreationDto?: MetadataTreeForCreationDto, options?: any): AxiosPromise<MetadataTreeDtoResponse> {
                return localVarFp.createMetadataTree(projectId, resourceId, metadataTreeForCreationDto, options).then((request) => request(axios, basePath));
            },
            /**
             * The `OrderBy` query is currently not supported.
             * @summary Retrieves the file tree associated with a resource.
             * @param {string} projectId The unique identifier or slug of the project.
             * @param {string} resourceId The unique identifier of the resource.
             * @param {string} [path] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getFileTree(projectId: string, resourceId: string, path?: string, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): AxiosPromise<FileTreeDtoIEnumerablePagedResponse> {
                return localVarFp.getFileTree(projectId, resourceId, path, pageNumber, pageSize, orderBy, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves the metadata tree associated with a resource.
             * @param {string} projectId The unique identifier or slug of the project.
             * @param {string} resourceId The unique identifier of the resource.
             * @param {string} [path] 
             * @param {RdfFormat} [format] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getMetadataTree(projectId: string, resourceId: string, path?: string, format?: RdfFormat, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): AxiosPromise<MetadataTreeDtoIEnumerablePagedResponse> {
                return localVarFp.getMetadataTree(projectId, resourceId, path, format, pageNumber, pageSize, orderBy, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Updates an existing metadata tree of a resource.
             * @param {string} projectId The unique identifier or slug of the project.
             * @param {string} resourceId The unique identifier of the resource.
             * @param {MetadataTreeForUpdateDto} [metadataTreeForUpdateDto] The updated metadata tree data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            updateMetadataTree(projectId: string, resourceId: string, metadataTreeForUpdateDto?: MetadataTreeForUpdateDto, options?: any): AxiosPromise<void> {
                return localVarFp.updateMetadataTree(projectId, resourceId, metadataTreeForUpdateDto, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * TreeApi - object-oriented interface
     * @export
     * @class TreeApi
     * @extends {BaseAPI}
     */
    export class TreeApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {string} projectId 
         * @param {string} resourceId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof TreeApi
         */
        public apiV2ProjectsProjectIdResourcesResourceIdTreesOptions(projectId: string, resourceId: string, options?: any) {
            return TreeApiFp(this.configuration).apiV2ProjectsProjectIdResourcesResourceIdTreesOptions(projectId, resourceId, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Creates a new metadata tree for a resource.
         * @param {string} projectId The unique identifier or slug of the project.
         * @param {string} resourceId The unique identifier of the resource.
         * @param {MetadataTreeForCreationDto} [metadataTreeForCreationDto] The metadata tree data for creation.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof TreeApi
         */
        public createMetadataTree(projectId: string, resourceId: string, metadataTreeForCreationDto?: MetadataTreeForCreationDto, options?: any) {
            return TreeApiFp(this.configuration).createMetadataTree(projectId, resourceId, metadataTreeForCreationDto, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * The `OrderBy` query is currently not supported.
         * @summary Retrieves the file tree associated with a resource.
         * @param {string} projectId The unique identifier or slug of the project.
         * @param {string} resourceId The unique identifier of the resource.
         * @param {string} [path] 
         * @param {number} [pageNumber] 
         * @param {number} [pageSize] 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof TreeApi
         */
        public getFileTree(projectId: string, resourceId: string, path?: string, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any) {
            return TreeApiFp(this.configuration).getFileTree(projectId, resourceId, path, pageNumber, pageSize, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves the metadata tree associated with a resource.
         * @param {string} projectId The unique identifier or slug of the project.
         * @param {string} resourceId The unique identifier of the resource.
         * @param {string} [path] 
         * @param {RdfFormat} [format] 
         * @param {number} [pageNumber] 
         * @param {number} [pageSize] 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof TreeApi
         */
        public getMetadataTree(projectId: string, resourceId: string, path?: string, format?: RdfFormat, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any) {
            return TreeApiFp(this.configuration).getMetadataTree(projectId, resourceId, path, format, pageNumber, pageSize, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Updates an existing metadata tree of a resource.
         * @param {string} projectId The unique identifier or slug of the project.
         * @param {string} resourceId The unique identifier of the resource.
         * @param {MetadataTreeForUpdateDto} [metadataTreeForUpdateDto] The updated metadata tree data.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof TreeApi
         */
        public updateMetadataTree(projectId: string, resourceId: string, metadataTreeForUpdateDto?: MetadataTreeForUpdateDto, options?: any) {
            return TreeApiFp(this.configuration).updateMetadataTree(projectId, resourceId, metadataTreeForUpdateDto, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * UserApi - axios parameter creator
     * @export
     */
    export const UserApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2UsersOptions: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/users`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves all users.
             * @param {string} searchTerm 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getUsers: async (searchTerm: string, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'searchTerm' is not null or undefined
                assertParamExists('getUsers', 'searchTerm', searchTerm)
                const localVarPath = `/api/v2/users`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
                if (searchTerm !== undefined) {
                    localVarQueryParameter['SearchTerm'] = searchTerm;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * UserApi - functional programming interface
     * @export
     */
    export const UserApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = UserApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2UsersOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2UsersOptions(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves all users.
             * @param {string} searchTerm 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getUsers(searchTerm: string, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PublicUserDtoIEnumerableResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getUsers(searchTerm, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * UserApi - factory interface
     * @export
     */
    export const UserApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = UserApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2UsersOptions(options?: any): AxiosPromise<void> {
                return localVarFp.apiV2UsersOptions(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves all users.
             * @param {string} searchTerm 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getUsers(searchTerm: string, orderBy?: string, options?: any): AxiosPromise<PublicUserDtoIEnumerableResponse> {
                return localVarFp.getUsers(searchTerm, orderBy, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * UserApi - object-oriented interface
     * @export
     * @class UserApi
     * @extends {BaseAPI}
     */
    export class UserApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof UserApi
         */
        public apiV2UsersOptions(options?: any) {
            return UserApiFp(this.configuration).apiV2UsersOptions(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves all users.
         * @param {string} searchTerm 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof UserApi
         */
        public getUsers(searchTerm: string, orderBy?: string, options?: any) {
            return UserApiFp(this.configuration).getUsers(searchTerm, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * VisibilityApi - axios parameter creator
     * @export
     */
    export const VisibilityApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2VisibilitiesOptions: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/visibilities`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves all visibilities.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getVisibilities: async (pageNumber?: number, pageSize?: number, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/visibilities`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (pageNumber !== undefined) {
                    localVarQueryParameter['PageNumber'] = pageNumber;
                }
    
                if (pageSize !== undefined) {
                    localVarQueryParameter['PageSize'] = pageSize;
                }
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves a visibility by ID.
             * @param {string} visibilityId The ID of the visibility.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getVisibility: async (visibilityId: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'visibilityId' is not null or undefined
                assertParamExists('getVisibility', 'visibilityId', visibilityId)
                const localVarPath = `/api/v2/visibilities/{visibilityId}`
                    .replace(`{${"visibilityId"}}`, encodeURIComponent(String(visibilityId)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * VisibilityApi - functional programming interface
     * @export
     */
    export const VisibilityApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = VisibilityApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2VisibilitiesOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2VisibilitiesOptions(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves all visibilities.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getVisibilities(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<VisibilityDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getVisibilities(pageNumber, pageSize, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves a visibility by ID.
             * @param {string} visibilityId The ID of the visibility.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getVisibility(visibilityId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<VisibilityDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getVisibility(visibilityId, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * VisibilityApi - factory interface
     * @export
     */
    export const VisibilityApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = VisibilityApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2VisibilitiesOptions(options?: any): AxiosPromise<void> {
                return localVarFp.apiV2VisibilitiesOptions(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves all visibilities.
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getVisibilities(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): AxiosPromise<VisibilityDtoIEnumerablePagedResponse> {
                return localVarFp.getVisibilities(pageNumber, pageSize, orderBy, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves a visibility by ID.
             * @param {string} visibilityId The ID of the visibility.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getVisibility(visibilityId: string, options?: any): AxiosPromise<VisibilityDtoResponse> {
                return localVarFp.getVisibility(visibilityId, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * VisibilityApi - object-oriented interface
     * @export
     * @class VisibilityApi
     * @extends {BaseAPI}
     */
    export class VisibilityApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof VisibilityApi
         */
        public apiV2VisibilitiesOptions(options?: any) {
            return VisibilityApiFp(this.configuration).apiV2VisibilitiesOptions(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves all visibilities.
         * @param {number} [pageNumber] 
         * @param {number} [pageSize] 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof VisibilityApi
         */
        public getVisibilities(pageNumber?: number, pageSize?: number, orderBy?: string, options?: any) {
            return VisibilityApiFp(this.configuration).getVisibilities(pageNumber, pageSize, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves a visibility by ID.
         * @param {string} visibilityId The ID of the visibility.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof VisibilityApi
         */
        public getVisibility(visibilityId: string, options?: any) {
            return VisibilityApiFp(this.configuration).getVisibility(visibilityId, options).then((request) => request(this.axios, this.basePath));
        }
    }
    
    
    /**
     * VocabularyApi - axios parameter creator
     * @export
     */
    export const VocabularyApiAxiosParamCreator = function (configuration?: Configuration) {
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2VocabulariesOptions: async (options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/vocabularies`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves top-level instances from vocabularies.
             * @param {string} [searchTerm] 
             * @param {AcceptedLanguage} [language] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getVocabularies: async (searchTerm?: string, language?: AcceptedLanguage, pageNumber?: number, pageSize?: number, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                const localVarPath = `/api/v2/vocabularies`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (searchTerm !== undefined) {
                    localVarQueryParameter['SearchTerm'] = searchTerm;
                }
    
                if (language !== undefined) {
                    localVarQueryParameter['Language'] = language;
                }
    
                if (pageNumber !== undefined) {
                    localVarQueryParameter['PageNumber'] = pageNumber;
                }
    
                if (pageSize !== undefined) {
                    localVarQueryParameter['PageSize'] = pageSize;
                }
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * Could be a top-level instance, or an intermediate-level instance from a vocabulary.
             * @summary Retrieves a single instance from a vocabulary.
             * @param {string} instance The URI of the vocabulary instance to retrieve.
             * @param {AcceptedLanguage} [acceptLanguage] The preferred language for the instance data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getVocabularyInstance: async (instance: string, acceptLanguage?: AcceptedLanguage, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter 'instance' is not null or undefined
                assertParamExists('getVocabularyInstance', 'instance', instance)
                const localVarPath = `/api/v2/vocabularies/instances/{instance}`
                    .replace(`{${"instance"}}`, encodeURIComponent(String(instance)));
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (acceptLanguage !== undefined && acceptLanguage !== null) {
                    localVarHeaderParameter['Accept-Language'] = String(JSON.stringify(acceptLanguage));
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
            /**
             * 
             * @summary Retrieves vocabulary instances.
             * @param {string} _class 
             * @param {string} [searchTerm] 
             * @param {AcceptedLanguage} [language] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getVocabularyInstances: async (_class: string, searchTerm?: string, language?: AcceptedLanguage, pageNumber?: number, pageSize?: number, orderBy?: string, options: any = {}): Promise<RequestArgs> => {
                // verify required parameter '_class' is not null or undefined
                assertParamExists('getVocabularyInstances', '_class', _class)
                const localVarPath = `/api/v2/vocabularies/instances`;
                // use dummy base URL string because the URL constructor only accepts absolute URLs.
                const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
                let baseOptions;
                if (configuration) {
                    baseOptions = configuration.baseOptions;
                }
    
                const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
                const localVarHeaderParameter = {} as any;
                const localVarQueryParameter = {} as any;
    
                // authentication Bearer required
                await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
    
                if (_class !== undefined) {
                    localVarQueryParameter['Class'] = _class;
                }
    
                if (searchTerm !== undefined) {
                    localVarQueryParameter['SearchTerm'] = searchTerm;
                }
    
                if (language !== undefined) {
                    localVarQueryParameter['Language'] = language;
                }
    
                if (pageNumber !== undefined) {
                    localVarQueryParameter['PageNumber'] = pageNumber;
                }
    
                if (pageSize !== undefined) {
                    localVarQueryParameter['PageSize'] = pageSize;
                }
    
                if (orderBy !== undefined) {
                    localVarQueryParameter['OrderBy'] = orderBy;
                }
    
    
        
                setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
                let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
                localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
    
                return {
                    url: toPathString(localVarUrlObj),
                    options: localVarRequestOptions,
                };
            },
        }
    };
    
    /**
     * VocabularyApi - functional programming interface
     * @export
     */
    export const VocabularyApiFp = function(configuration?: Configuration) {
        const localVarAxiosParamCreator = VocabularyApiAxiosParamCreator(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async apiV2VocabulariesOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2VocabulariesOptions(options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves top-level instances from vocabularies.
             * @param {string} [searchTerm] 
             * @param {AcceptedLanguage} [language] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getVocabularies(searchTerm?: string, language?: AcceptedLanguage, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<VocabularyDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getVocabularies(searchTerm, language, pageNumber, pageSize, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * Could be a top-level instance, or an intermediate-level instance from a vocabulary.
             * @summary Retrieves a single instance from a vocabulary.
             * @param {string} instance The URI of the vocabulary instance to retrieve.
             * @param {AcceptedLanguage} [acceptLanguage] The preferred language for the instance data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getVocabularyInstance(instance: string, acceptLanguage?: AcceptedLanguage, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<VocabularyInstanceDtoResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getVocabularyInstance(instance, acceptLanguage, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
            /**
             * 
             * @summary Retrieves vocabulary instances.
             * @param {string} _class 
             * @param {string} [searchTerm] 
             * @param {AcceptedLanguage} [language] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            async getVocabularyInstances(_class: string, searchTerm?: string, language?: AcceptedLanguage, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<VocabularyInstanceDtoIEnumerablePagedResponse>> {
                const localVarAxiosArgs = await localVarAxiosParamCreator.getVocabularyInstances(_class, searchTerm, language, pageNumber, pageSize, orderBy, options);
                return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
            },
        }
    };
    
    /**
     * VocabularyApi - factory interface
     * @export
     */
    export const VocabularyApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
        const localVarFp = VocabularyApiFp(configuration)
        return {
            /**
             * 
             * @summary Responds with the HTTP methods allowed for the endpoint.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            apiV2VocabulariesOptions(options?: any): AxiosPromise<void> {
                return localVarFp.apiV2VocabulariesOptions(options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves top-level instances from vocabularies.
             * @param {string} [searchTerm] 
             * @param {AcceptedLanguage} [language] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getVocabularies(searchTerm?: string, language?: AcceptedLanguage, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): AxiosPromise<VocabularyDtoIEnumerablePagedResponse> {
                return localVarFp.getVocabularies(searchTerm, language, pageNumber, pageSize, orderBy, options).then((request) => request(axios, basePath));
            },
            /**
             * Could be a top-level instance, or an intermediate-level instance from a vocabulary.
             * @summary Retrieves a single instance from a vocabulary.
             * @param {string} instance The URI of the vocabulary instance to retrieve.
             * @param {AcceptedLanguage} [acceptLanguage] The preferred language for the instance data.
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getVocabularyInstance(instance: string, acceptLanguage?: AcceptedLanguage, options?: any): AxiosPromise<VocabularyInstanceDtoResponse> {
                return localVarFp.getVocabularyInstance(instance, acceptLanguage, options).then((request) => request(axios, basePath));
            },
            /**
             * 
             * @summary Retrieves vocabulary instances.
             * @param {string} _class 
             * @param {string} [searchTerm] 
             * @param {AcceptedLanguage} [language] 
             * @param {number} [pageNumber] 
             * @param {number} [pageSize] 
             * @param {string} [orderBy] 
             * @param {*} [options] Override http request option.
             * @throws {RequiredError}
             */
            getVocabularyInstances(_class: string, searchTerm?: string, language?: AcceptedLanguage, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any): AxiosPromise<VocabularyInstanceDtoIEnumerablePagedResponse> {
                return localVarFp.getVocabularyInstances(_class, searchTerm, language, pageNumber, pageSize, orderBy, options).then((request) => request(axios, basePath));
            },
        };
    };
    
    /**
     * VocabularyApi - object-oriented interface
     * @export
     * @class VocabularyApi
     * @extends {BaseAPI}
     */
    export class VocabularyApi extends BaseAPI {
        /**
         * 
         * @summary Responds with the HTTP methods allowed for the endpoint.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof VocabularyApi
         */
        public apiV2VocabulariesOptions(options?: any) {
            return VocabularyApiFp(this.configuration).apiV2VocabulariesOptions(options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves top-level instances from vocabularies.
         * @param {string} [searchTerm] 
         * @param {AcceptedLanguage} [language] 
         * @param {number} [pageNumber] 
         * @param {number} [pageSize] 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof VocabularyApi
         */
        public getVocabularies(searchTerm?: string, language?: AcceptedLanguage, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any) {
            return VocabularyApiFp(this.configuration).getVocabularies(searchTerm, language, pageNumber, pageSize, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * Could be a top-level instance, or an intermediate-level instance from a vocabulary.
         * @summary Retrieves a single instance from a vocabulary.
         * @param {string} instance The URI of the vocabulary instance to retrieve.
         * @param {AcceptedLanguage} [acceptLanguage] The preferred language for the instance data.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof VocabularyApi
         */
        public getVocabularyInstance(instance: string, acceptLanguage?: AcceptedLanguage, options?: any) {
            return VocabularyApiFp(this.configuration).getVocabularyInstance(instance, acceptLanguage, options).then((request) => request(this.axios, this.basePath));
        }
    
        /**
         * 
         * @summary Retrieves vocabulary instances.
         * @param {string} _class 
         * @param {string} [searchTerm] 
         * @param {AcceptedLanguage} [language] 
         * @param {number} [pageNumber] 
         * @param {number} [pageSize] 
         * @param {string} [orderBy] 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         * @memberof VocabularyApi
         */
        public getVocabularyInstances(_class: string, searchTerm?: string, language?: AcceptedLanguage, pageNumber?: number, pageSize?: number, orderBy?: string, options?: any) {
            return VocabularyApiFp(this.configuration).getVocabularyInstances(_class, searchTerm, language, pageNumber, pageSize, orderBy, options).then((request) => request(this.axios, this.basePath));
        }
    }