/* tslint:disable */
/* eslint-disable */
/**
 * ODMSOpenAPI
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


import type { Configuration } from './configuration';
import type { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios';
import globalAxios 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';
import type { RequestArgs } from './base';
// @ts-ignore
import { BASE_PATH, COLLECTION_FORMATS, BaseAPI, RequiredError, operationServerMap } from './base';

/**
 * 
 * @export
 * @interface AccessTokenResponse
 */
export interface AccessTokenResponse {
    /**
     * 
     * @type {string}
     * @memberof AccessTokenResponse
     */
    'accessToken': string;
}
/**
 * 
 * @export
 * @interface Account
 */
export interface Account {
    /**
     * 
     * @type {number}
     * @memberof Account
     */
    'accountId': number;
    /**
     * 
     * @type {string}
     * @memberof Account
     */
    'companyName': string;
    /**
     * 
     * @type {number}
     * @memberof Account
     */
    'tier': number;
    /**
     * 
     * @type {string}
     * @memberof Account
     */
    'country': string;
    /**
     * 
     * @type {number}
     * @memberof Account
     */
    'parentAccountId'?: number;
    /**
     * 
     * @type {boolean}
     * @memberof Account
     */
    'delegationPermission': boolean;
    /**
     * 
     * @type {number}
     * @memberof Account
     */
    'primaryAdminUserId'?: number;
    /**
     * 
     * @type {number}
     * @memberof Account
     */
    'secondryAdminUserId'?: number;
    /**
     * 
     * @type {string}
     * @memberof Account
     */
    'parentAccountName'?: string;
}
/**
 * 
 * @export
 * @interface ActivateCardLicensesRequest
 */
export interface ActivateCardLicensesRequest {
    /**
     * 
     * @type {string}
     * @memberof ActivateCardLicensesRequest
     */
    'cardLicenseKey': string;
}
/**
 * 
 * @export
 * @interface AllocatableLicenseInfo
 */
export interface AllocatableLicenseInfo {
    /**
     * 
     * @type {number}
     * @memberof AllocatableLicenseInfo
     */
    'licenseId': number;
    /**
     * 
     * @type {string}
     * @memberof AllocatableLicenseInfo
     */
    'expiryDate'?: string;
}
/**
 * 
 * @export
 * @interface AllocateLicenseRequest
 */
export interface AllocateLicenseRequest {
    /**
     * ユーザーID
     * @type {number}
     * @memberof AllocateLicenseRequest
     */
    'userId': number;
    /**
     * 割り当てるライセンスのID
     * @type {number}
     * @memberof AllocateLicenseRequest
     */
    'newLicenseId': number;
}
/**
 * 
 * @export
 * @interface Assignee
 */
export interface Assignee {
    /**
     * TypistID（TypistIDかTypistGroupIDのどちらかに値が入る）
     * @type {number}
     * @memberof Assignee
     */
    'typistUserId'?: number;
    /**
     * TypistGroupID（TypistGroupIDかTypistIDのどちらかに値が入る）
     * @type {number}
     * @memberof Assignee
     */
    'typistGroupId'?: number;
    /**
     * Typist名 / TypistGroup名
     * @type {string}
     * @memberof Assignee
     */
    'typistName': string;
}
/**
 * 
 * @export
 * @interface AudioDownloadLocationResponse
 */
export interface AudioDownloadLocationResponse {
    /**
     * Blob StorageにアクセスするためのSASトークン入りのアクセスURL
     * @type {string}
     * @memberof AudioDownloadLocationResponse
     */
    'url': string;
}
/**
 * 
 * @export
 * @interface AudioNextResponse
 */
export interface AudioNextResponse {
    /**
     * ODMS Cloud上の次の音声ファイルID（存在しなければundefind）
     * @type {number}
     * @memberof AudioNextResponse
     */
    'nextFileId'?: number;
}
/**
 * 
 * @export
 * @interface AudioOptionItem
 */
export interface AudioOptionItem {
    /**
     * 
     * @type {string}
     * @memberof AudioOptionItem
     */
    'optionItemLabel': string;
    /**
     * 
     * @type {string}
     * @memberof AudioOptionItem
     */
    'optionItemValue': string;
}
/**
 * 
 * @export
 * @interface AudioUploadFinishedRequest
 */
export interface AudioUploadFinishedRequest {
    /**
     * アップロード先Blob Storage(ファイル名含む)
     * @type {string}
     * @memberof AudioUploadFinishedRequest
     */
    'url': string;
    /**
     * 自分自身(ログイン認証)したAuthorID
     * @type {string}
     * @memberof AudioUploadFinishedRequest
     */
    'authorId': string;
    /**
     * 音声ファイル名
     * @type {string}
     * @memberof AudioUploadFinishedRequest
     */
    'fileName': string;
    /**
     * 音声ファイルの録音時間（ミリ秒の整数値）
     * @type {string}
     * @memberof AudioUploadFinishedRequest
     */
    'duration': string;
    /**
     * 音声ファイルの録音作成日時(開始日時)（yyyy-mm-ddThh:mm:ss.sss）
     * @type {string}
     * @memberof AudioUploadFinishedRequest
     */
    'createdDate': string;
    /**
     * 音声ファイルの録音作成終了日時（yyyy-mm-ddThh:mm:ss.sss）
     * @type {string}
     * @memberof AudioUploadFinishedRequest
     */
    'finishedDate': string;
    /**
     * 音声ファイルのアップロード日時（yyyy-mm-ddThh:mm:ss.sss）
     * @type {string}
     * @memberof AudioUploadFinishedRequest
     */
    'uploadedDate': string;
    /**
     * 音声ファイルのファイルサイズ（Byte）
     * @type {number}
     * @memberof AudioUploadFinishedRequest
     */
    'fileSize': number;
    /**
     * 優先度 \"00\":Normal / \"01\":High
     * @type {string}
     * @memberof AudioUploadFinishedRequest
     */
    'priority': string;
    /**
     * 録音形式: DSS/DS2(SP)/DS2(QP)
     * @type {string}
     * @memberof AudioUploadFinishedRequest
     */
    'audioFormat': string;
    /**
     * 
     * @type {string}
     * @memberof AudioUploadFinishedRequest
     */
    'comment': string;
    /**
     * 
     * @type {string}
     * @memberof AudioUploadFinishedRequest
     */
    'workType': string;
    /**
     * 音声ファイルに紐づくOption Itemの一覧（10個固定）
     * @type {Array<AudioOptionItem>}
     * @memberof AudioUploadFinishedRequest
     */
    'optionItemList': Array<AudioOptionItem>;
    /**
     * 
     * @type {boolean}
     * @memberof AudioUploadFinishedRequest
     */
    'isEncrypted': boolean;
}
/**
 * 
 * @export
 * @interface AudioUploadFinishedResponse
 */
export interface AudioUploadFinishedResponse {
    /**
     * 8桁固定の数字
     * @type {string}
     * @memberof AudioUploadFinishedResponse
     */
    'jobNumber': string;
}
/**
 * 
 * @export
 * @interface AudioUploadLocationResponse
 */
export interface AudioUploadLocationResponse {
    /**
     * Blob StorageにアクセスするためのSASトークン入りのアクセスURL
     * @type {string}
     * @memberof AudioUploadLocationResponse
     */
    'url': string;
}
/**
 * 
 * @export
 * @interface Author
 */
export interface Author {
    /**
     * Authorユーザーの内部ID
     * @type {number}
     * @memberof Author
     */
    'id': number;
    /**
     * AuthorID
     * @type {string}
     * @memberof Author
     */
    'authorId': string;
}
/**
 * 
 * @export
 * @interface CancelIssueRequest
 */
export interface CancelIssueRequest {
    /**
     * 注文元アカウントID
     * @type {number}
     * @memberof CancelIssueRequest
     */
    'orderedAccountId': number;
    /**
     * POナンバー
     * @type {string}
     * @memberof CancelIssueRequest
     */
    'poNumber': string;
}
/**
 * 
 * @export
 * @interface CancelOrderRequest
 */
export interface CancelOrderRequest {
    /**
     * 
     * @type {string}
     * @memberof CancelOrderRequest
     */
    'poNumber': string;
}
/**
 * 
 * @export
 * @interface ConfirmRequest
 */
export interface ConfirmRequest {
    /**
     * 
     * @type {string}
     * @memberof ConfirmRequest
     */
    'token': string;
}
/**
 * 
 * @export
 * @interface CreateAccountRequest
 */
export interface CreateAccountRequest {
    /**
     * 
     * @type {string}
     * @memberof CreateAccountRequest
     */
    'companyName': string;
    /**
     * 国名(ISO 3166-1 alpha-2)
     * @type {string}
     * @memberof CreateAccountRequest
     */
    'country': string;
    /**
     * 
     * @type {number}
     * @memberof CreateAccountRequest
     */
    'dealerAccountId'?: number;
    /**
     * 
     * @type {string}
     * @memberof CreateAccountRequest
     */
    'adminName': string;
    /**
     * 
     * @type {string}
     * @memberof CreateAccountRequest
     */
    'adminMail': string;
    /**
     * 
     * @type {string}
     * @memberof CreateAccountRequest
     */
    'adminPassword': string;
    /**
     * 同意済み利用規約のバージョン(EULA)
     * @type {string}
     * @memberof CreateAccountRequest
     */
    'acceptedEulaVersion': string;
    /**
     * 同意済みプライバシーポリシーのバージョン
     * @type {string}
     * @memberof CreateAccountRequest
     */
    'acceptedPrivacyNoticeVersion': string;
    /**
     * 同意済み利用規約のバージョン(DPA)
     * @type {string}
     * @memberof CreateAccountRequest
     */
    'acceptedDpaVersion': string;
    /**
     * reCAPTCHA Token
     * @type {string}
     * @memberof CreateAccountRequest
     */
    'token': string;
}
/**
 * 
 * @export
 * @interface CreateOrdersRequest
 */
export interface CreateOrdersRequest {
    /**
     * 
     * @type {string}
     * @memberof CreateOrdersRequest
     */
    'poNumber': string;
    /**
     * 
     * @type {number}
     * @memberof CreateOrdersRequest
     */
    'orderCount': number;
}
/**
 * 
 * @export
 * @interface CreatePartnerAccountRequest
 */
export interface CreatePartnerAccountRequest {
    /**
     * 
     * @type {string}
     * @memberof CreatePartnerAccountRequest
     */
    'companyName': string;
    /**
     * 国名(ISO 3166-1 alpha-2)
     * @type {string}
     * @memberof CreatePartnerAccountRequest
     */
    'country': string;
    /**
     * 
     * @type {string}
     * @memberof CreatePartnerAccountRequest
     */
    'adminName': string;
    /**
     * 
     * @type {string}
     * @memberof CreatePartnerAccountRequest
     */
    'email': string;
}
/**
 * 
 * @export
 * @interface CreateTypistGroupRequest
 */
export interface CreateTypistGroupRequest {
    /**
     * 
     * @type {string}
     * @memberof CreateTypistGroupRequest
     */
    'typistGroupName': string;
    /**
     * 
     * @type {Array<number>}
     * @memberof CreateTypistGroupRequest
     */
    'typistIds': Array<number>;
}
/**
 * 
 * @export
 * @interface CreateWorkflowsRequest
 */
export interface CreateWorkflowsRequest {
    /**
     * Authorの内部ID
     * @type {number}
     * @memberof CreateWorkflowsRequest
     */
    'authorId': number;
    /**
     * Worktypeの内部ID
     * @type {number}
     * @memberof CreateWorkflowsRequest
     */
    'worktypeId'?: number;
    /**
     * テンプレートの内部ID
     * @type {number}
     * @memberof CreateWorkflowsRequest
     */
    'templateId'?: number;
    /**
     * ルーティング候補のタイピストユーザー/タイピストグループ
     * @type {Array<WorkflowTypist>}
     * @memberof CreateWorkflowsRequest
     */
    'typists': Array<WorkflowTypist>;
}
/**
 * 
 * @export
 * @interface CreateWorktypesRequest
 */
export interface CreateWorktypesRequest {
    /**
     * WorktypeID
     * @type {string}
     * @memberof CreateWorktypesRequest
     */
    'worktypeId': string;
    /**
     * Worktypeの説明
     * @type {string}
     * @memberof CreateWorktypesRequest
     */
    'description'?: string;
}
/**
 * 
 * @export
 * @interface Dealer
 */
export interface Dealer {
    /**
     * アカウントID
     * @type {number}
     * @memberof Dealer
     */
    'id': number;
    /**
     * 会社名
     * @type {string}
     * @memberof Dealer
     */
    'name': string;
    /**
     * 国名(ISO 3166-1 alpha-2)
     * @type {string}
     * @memberof Dealer
     */
    'country': string;
}
/**
 * 
 * @export
 * @interface DeallocateLicenseRequest
 */
export interface DeallocateLicenseRequest {
    /**
     * ユーザーID
     * @type {number}
     * @memberof DeallocateLicenseRequest
     */
    'userId': number;
}
/**
 * 
 * @export
 * @interface DelegationAccessTokenResponse
 */
export interface DelegationAccessTokenResponse {
    /**
     * 代行操作用のアクセストークン
     * @type {string}
     * @memberof DelegationAccessTokenResponse
     */
    'accessToken': string;
}
/**
 * 
 * @export
 * @interface DelegationTokenRequest
 */
export interface DelegationTokenRequest {
    /**
     * 代行操作対象のアカウントID
     * @type {number}
     * @memberof DelegationTokenRequest
     */
    'delegatedAccountId': number;
}
/**
 * 
 * @export
 * @interface DelegationTokenResponse
 */
export interface DelegationTokenResponse {
    /**
     * 代行操作用のリフレッシュトークン
     * @type {string}
     * @memberof DelegationTokenResponse
     */
    'refreshToken': string;
    /**
     * 代行操作用のアクセストークン
     * @type {string}
     * @memberof DelegationTokenResponse
     */
    'accessToken': string;
}
/**
 * 
 * @export
 * @interface DeleteAccountRequest
 */
export interface DeleteAccountRequest {
    /**
     * アカウントID
     * @type {number}
     * @memberof DeleteAccountRequest
     */
    'accountId': number;
}
/**
 * 
 * @export
 * @interface ErrorResponse
 */
export interface ErrorResponse {
    /**
     * 
     * @type {string}
     * @memberof ErrorResponse
     */
    'message': string;
    /**
     * 
     * @type {string}
     * @memberof ErrorResponse
     */
    'code': string;
}
/**
 * 
 * @export
 * @interface GetAccountInfoMinimalAccessRequest
 */
export interface GetAccountInfoMinimalAccessRequest {
    /**
     * idトークン
     * @type {string}
     * @memberof GetAccountInfoMinimalAccessRequest
     */
    'idToken': string;
}
/**
 * 
 * @export
 * @interface GetAccountInfoMinimalAccessResponse
 */
export interface GetAccountInfoMinimalAccessResponse {
    /**
     * 階層
     * @type {number}
     * @memberof GetAccountInfoMinimalAccessResponse
     */
    'tier': number;
}
/**
 * 
 * @export
 * @interface GetAllocatableLicensesResponse
 */
export interface GetAllocatableLicensesResponse {
    /**
     * 
     * @type {Array<AllocatableLicenseInfo>}
     * @memberof GetAllocatableLicensesResponse
     */
    'allocatableLicenses': Array<AllocatableLicenseInfo>;
}
/**
 * 
 * @export
 * @interface GetAuthorsResponse
 */
export interface GetAuthorsResponse {
    /**
     * 
     * @type {Array<Author>}
     * @memberof GetAuthorsResponse
     */
    'authors': Array<Author>;
}
/**
 * 
 * @export
 * @interface GetCompanyNameRequest
 */
export interface GetCompanyNameRequest {
    /**
     * 
     * @type {number}
     * @memberof GetCompanyNameRequest
     */
    'accountId': number;
}
/**
 * 
 * @export
 * @interface GetCompanyNameResponse
 */
export interface GetCompanyNameResponse {
    /**
     * 
     * @type {string}
     * @memberof GetCompanyNameResponse
     */
    'companyName': string;
}
/**
 * 
 * @export
 * @interface GetDealersResponse
 */
export interface GetDealersResponse {
    /**
     * 
     * @type {Array<Dealer>}
     * @memberof GetDealersResponse
     */
    'dealers': Array<Dealer>;
}
/**
 * 
 * @export
 * @interface GetLicenseSummaryRequest
 */
export interface GetLicenseSummaryRequest {
    /**
     * 
     * @type {number}
     * @memberof GetLicenseSummaryRequest
     */
    'accountId': number;
}
/**
 * 
 * @export
 * @interface GetLicenseSummaryResponse
 */
export interface GetLicenseSummaryResponse {
    /**
     * 
     * @type {number}
     * @memberof GetLicenseSummaryResponse
     */
    'totalLicense': number;
    /**
     * 
     * @type {number}
     * @memberof GetLicenseSummaryResponse
     */
    'allocatedLicense': number;
    /**
     * 
     * @type {number}
     * @memberof GetLicenseSummaryResponse
     */
    'reusableLicense': number;
    /**
     * 
     * @type {number}
     * @memberof GetLicenseSummaryResponse
     */
    'freeLicense': number;
    /**
     * 
     * @type {number}
     * @memberof GetLicenseSummaryResponse
     */
    'expiringWithin14daysLicense': number;
    /**
     * 
     * @type {number}
     * @memberof GetLicenseSummaryResponse
     */
    'issueRequesting': number;
    /**
     * 
     * @type {number}
     * @memberof GetLicenseSummaryResponse
     */
    'numberOfRequesting': number;
    /**
     * 
     * @type {number}
     * @memberof GetLicenseSummaryResponse
     */
    'shortage': number;
    /**
     * 
     * @type {number}
     * @memberof GetLicenseSummaryResponse
     */
    'storageSize': number;
    /**
     * 
     * @type {number}
     * @memberof GetLicenseSummaryResponse
     */
    'usedSize': number;
    /**
     * 
     * @type {boolean}
     * @memberof GetLicenseSummaryResponse
     */
    'isStorageAvailable': boolean;
}
/**
 * 
 * @export
 * @interface GetMyAccountResponse
 */
export interface GetMyAccountResponse {
    /**
     * 
     * @type {Account}
     * @memberof GetMyAccountResponse
     */
    'account': Account;
}
/**
 * 
 * @export
 * @interface GetMyUserResponse
 */
export interface GetMyUserResponse {
    /**
     * ユーザー名
     * @type {string}
     * @memberof GetMyUserResponse
     */
    'userName': string;
}
/**
 * 
 * @export
 * @interface GetOptionItemsResponse
 */
export interface GetOptionItemsResponse {
    /**
     * 
     * @type {Array<GetWorktypeOptionItem>}
     * @memberof GetOptionItemsResponse
     */
    'optionItems': Array<GetWorktypeOptionItem>;
}
/**
 * 
 * @export
 * @interface GetOrderHistoriesRequest
 */
export interface GetOrderHistoriesRequest {
    /**
     * 取得件数
     * @type {number}
     * @memberof GetOrderHistoriesRequest
     */
    'limit': number;
    /**
     * 開始位置
     * @type {number}
     * @memberof GetOrderHistoriesRequest
     */
    'offset': number;
    /**
     * アカウントID
     * @type {number}
     * @memberof GetOrderHistoriesRequest
     */
    'accountId': number;
}
/**
 * 
 * @export
 * @interface GetOrderHistoriesResponse
 */
export interface GetOrderHistoriesResponse {
    /**
     * 合計件数
     * @type {number}
     * @memberof GetOrderHistoriesResponse
     */
    'total': number;
    /**
     * 
     * @type {Array<LicenseOrder>}
     * @memberof GetOrderHistoriesResponse
     */
    'orderHistories': Array<LicenseOrder>;
}
/**
 * 
 * @export
 * @interface GetPartnerLicensesRequest
 */
export interface GetPartnerLicensesRequest {
    /**
     * 
     * @type {number}
     * @memberof GetPartnerLicensesRequest
     */
    'limit': number;
    /**
     * 
     * @type {number}
     * @memberof GetPartnerLicensesRequest
     */
    'offset': number;
    /**
     * 
     * @type {number}
     * @memberof GetPartnerLicensesRequest
     */
    'accountId': number;
}
/**
 * 
 * @export
 * @interface GetPartnerLicensesResponse
 */
export interface GetPartnerLicensesResponse {
    /**
     * 
     * @type {number}
     * @memberof GetPartnerLicensesResponse
     */
    'total': number;
    /**
     * 
     * @type {PartnerLicenseInfo}
     * @memberof GetPartnerLicensesResponse
     */
    'ownPartnerLicense': PartnerLicenseInfo;
    /**
     * 
     * @type {Array<PartnerLicenseInfo>}
     * @memberof GetPartnerLicensesResponse
     */
    'childrenPartnerLicenses': Array<PartnerLicenseInfo>;
}
/**
 * 
 * @export
 * @interface GetPartnersResponse
 */
export interface GetPartnersResponse {
    /**
     * 合計件数
     * @type {number}
     * @memberof GetPartnersResponse
     */
    'total': number;
    /**
     * 
     * @type {Array<Partner>}
     * @memberof GetPartnersResponse
     */
    'partners': Array<Partner>;
}
/**
 * 
 * @export
 * @interface GetRelationsResponse
 */
export interface GetRelationsResponse {
    /**
     * ログインしたユーザーのAuthorID（Authorでない場合はundefined）
     * @type {string}
     * @memberof GetRelationsResponse
     */
    'authorId'?: string;
    /**
     * 属しているアカウントのAuthorID List(全て)
     * @type {Array<string>}
     * @memberof GetRelationsResponse
     */
    'authorIdList': Array<string>;
    /**
     * アカウントに設定されているWorktypeIDのリスト（最大20個）
     * @type {Array<OptionItemList>}
     * @memberof GetRelationsResponse
     */
    'workTypeList': Array<OptionItemList>;
    /**
     * ユーザーが音声ファイルを暗号化するかどうか
     * @type {boolean}
     * @memberof GetRelationsResponse
     */
    'isEncrypted': boolean;
    /**
     * ユーザーが暗号化を掛ける場合のパスワード
     * @type {string}
     * @memberof GetRelationsResponse
     */
    'encryptionPassword'?: string;
    /**
     * アカウントがデフォルトで利用するWorkTypeID（アカウントに紐づくWorkTypeIDから一つ指定。activeWorktypeがなければ空文字を返却する）
     * @type {string}
     * @memberof GetRelationsResponse
     */
    'activeWorktype': string;
    /**
     * 録音形式: DSS/DS2(SP)/DS2(QP)： DS2固定
     * @type {string}
     * @memberof GetRelationsResponse
     */
    'audioFormat': string;
    /**
     * デバイス上で自動的にWorkTypeの選択画面を表示するかどうかのユーザーごとの設定（Authorでない場合はfalse）
     * @type {boolean}
     * @memberof GetRelationsResponse
     */
    'prompt': boolean;
}
/**
 * 
 * @export
 * @interface GetSortCriteriaResponse
 */
export interface GetSortCriteriaResponse {
    /**
     * ASC/DESC
     * @type {string}
     * @memberof GetSortCriteriaResponse
     */
    'direction': string;
    /**
     * JOB_NUMBER/STATUS/ENCRYPTION/AUTHOR_ID/WORK_TYPE/FILE_NAME/FILE_LENGTH/FILE_SIZE/RECORDING_STARTED_DATE/RECORDING_FINISHED_DATE/UPLOAD_DATE/TRANSCRIPTION_STARTED_DATE/TRANSCRIPTION_FINISHED_DATE
     * @type {string}
     * @memberof GetSortCriteriaResponse
     */
    'paramName': string;
}
/**
 * 
 * @export
 * @interface GetTemplatesResponse
 */
export interface GetTemplatesResponse {
    /**
     * テンプレートファイルの一覧
     * @type {Array<TemplateFile>}
     * @memberof GetTemplatesResponse
     */
    'templates': Array<TemplateFile>;
}
/**
 * 
 * @export
 * @interface GetTermsInfoResponse
 */
export interface GetTermsInfoResponse {
    /**
     * 
     * @type {Array<TermInfo>}
     * @memberof GetTermsInfoResponse
     */
    'termsInfo': Array<TermInfo>;
}
/**
 * 
 * @export
 * @interface GetTypistGroupResponse
 */
export interface GetTypistGroupResponse {
    /**
     * 
     * @type {string}
     * @memberof GetTypistGroupResponse
     */
    'typistGroupName': string;
    /**
     * 
     * @type {Array<number>}
     * @memberof GetTypistGroupResponse
     */
    'typistIds': Array<number>;
}
/**
 * 
 * @export
 * @interface GetTypistGroupsResponse
 */
export interface GetTypistGroupsResponse {
    /**
     * 
     * @type {Array<TypistGroup>}
     * @memberof GetTypistGroupsResponse
     */
    'typistGroups': Array<TypistGroup>;
}
/**
 * 
 * @export
 * @interface GetTypistsResponse
 */
export interface GetTypistsResponse {
    /**
     * 
     * @type {Array<Typist>}
     * @memberof GetTypistsResponse
     */
    'typists': Array<Typist>;
}
/**
 * 
 * @export
 * @interface GetUsersResponse
 */
export interface GetUsersResponse {
    /**
     * 
     * @type {Array<User>}
     * @memberof GetUsersResponse
     */
    'users': Array<User>;
}
/**
 * 
 * @export
 * @interface GetWorkflowsResponse
 */
export interface GetWorkflowsResponse {
    /**
     * ワークフローの一覧
     * @type {Array<Workflow>}
     * @memberof GetWorkflowsResponse
     */
    'workflows': Array<Workflow>;
}
/**
 * 
 * @export
 * @interface GetWorktypeOptionItem
 */
export interface GetWorktypeOptionItem {
    /**
     * 
     * @type {string}
     * @memberof GetWorktypeOptionItem
     */
    'itemLabel': string;
    /**
     * Default / Blank / LastInput
     * @type {string}
     * @memberof GetWorktypeOptionItem
     */
    'defaultValueType': string;
    /**
     * 
     * @type {string}
     * @memberof GetWorktypeOptionItem
     */
    'initialValue': string;
    /**
     * 
     * @type {number}
     * @memberof GetWorktypeOptionItem
     */
    'id': number;
}
/**
 * 
 * @export
 * @interface GetWorktypesResponse
 */
export interface GetWorktypesResponse {
    /**
     * 
     * @type {Array<Worktype>}
     * @memberof GetWorktypesResponse
     */
    'worktypes': Array<Worktype>;
    /**
     * Active WorktypeIDに設定されているWorkTypeの内部ID
     * @type {number}
     * @memberof GetWorktypesResponse
     */
    'active'?: number;
}
/**
 * 
 * @export
 * @interface IssueCardLicensesRequest
 */
export interface IssueCardLicensesRequest {
    /**
     * 
     * @type {number}
     * @memberof IssueCardLicensesRequest
     */
    'createCount': number;
}
/**
 * 
 * @export
 * @interface IssueCardLicensesResponse
 */
export interface IssueCardLicensesResponse {
    /**
     * 
     * @type {Array<string>}
     * @memberof IssueCardLicensesResponse
     */
    'cardLicenseKeys': Array<string>;
}
/**
 * 
 * @export
 * @interface IssueLicenseRequest
 */
export interface IssueLicenseRequest {
    /**
     * 注文元アカウントID
     * @type {number}
     * @memberof IssueLicenseRequest
     */
    'orderedAccountId': number;
    /**
     * POナンバー
     * @type {string}
     * @memberof IssueLicenseRequest
     */
    'poNumber': string;
}
/**
 * 
 * @export
 * @interface LicenseOrder
 */
export interface LicenseOrder {
    /**
     * 注文日付
     * @type {string}
     * @memberof LicenseOrder
     */
    'orderDate': string;
    /**
     * 発行日付
     * @type {string}
     * @memberof LicenseOrder
     */
    'issueDate'?: string;
    /**
     * 注文数
     * @type {number}
     * @memberof LicenseOrder
     */
    'numberOfOrder': number;
    /**
     * POナンバー
     * @type {string}
     * @memberof LicenseOrder
     */
    'poNumber': string;
    /**
     * 注文状態
     * @type {string}
     * @memberof LicenseOrder
     */
    'status': string;
}
/**
 * 
 * @export
 * @interface OptionItem
 */
export interface OptionItem {
    /**
     * Option Itemのラベル
     * @type {string}
     * @memberof OptionItem
     */
    'label': string;
    /**
     * 項目タイプ 1:Blank/2:Default/3:前の値
     * @type {number}
     * @memberof OptionItem
     */
    'initialValueType': number;
    /**
     * typeでDefaultを選択した場合のデフォルト値
     * @type {string}
     * @memberof OptionItem
     */
    'defaultValue': string;
}
/**
 * 
 * @export
 * @interface OptionItemList
 */
export interface OptionItemList {
    /**
     * 
     * @type {string}
     * @memberof OptionItemList
     */
    'workTypeId': string;
    /**
     * 1WorkTypeIDにつき、10個まで登録可能
     * @type {Array<OptionItem>}
     * @memberof OptionItemList
     */
    'optionItemList': Array<OptionItem>;
}
/**
 * 
 * @export
 * @interface Partner
 */
export interface Partner {
    /**
     * 会社名
     * @type {string}
     * @memberof Partner
     */
    'name': string;
    /**
     * 階層
     * @type {number}
     * @memberof Partner
     */
    'tier': number;
    /**
     * アカウントID
     * @type {number}
     * @memberof Partner
     */
    'accountId': number;
    /**
     * 国
     * @type {string}
     * @memberof Partner
     */
    'country': string;
    /**
     * プライマリ管理者
     * @type {string}
     * @memberof Partner
     */
    'primaryAdmin': string;
    /**
     * プライマリ管理者メールアドレス
     * @type {string}
     * @memberof Partner
     */
    'email': string;
    /**
     * 代行操作許可
     * @type {boolean}
     * @memberof Partner
     */
    'dealerManagement': boolean;
}
/**
 * 
 * @export
 * @interface PartnerLicenseInfo
 */
export interface PartnerLicenseInfo {
    /**
     * アカウントID
     * @type {number}
     * @memberof PartnerLicenseInfo
     */
    'accountId': number;
    /**
     * 階層
     * @type {number}
     * @memberof PartnerLicenseInfo
     */
    'tier': number;
    /**
     * アカウント名
     * @type {string}
     * @memberof PartnerLicenseInfo
     */
    'companyName': string;
    /**
     * 保有している有効期限が未設定あるいは有効期限内のライセンス数
     * @type {number}
     * @memberof PartnerLicenseInfo
     */
    'stockLicense': number;
    /**
     * 子アカウントからの、未発行状態あるいは発行キャンセルされた注文の総ライセンス数
     * @type {number}
     * @memberof PartnerLicenseInfo
     */
    'issuedRequested': number;
    /**
     * 不足数（{Stock license} - {Issue Requested}）
     * @type {number}
     * @memberof PartnerLicenseInfo
     */
    'shortage': number;
    /**
     * 未発行状態あるいは発行キャンセルされた注文の総ライセンス数（=IssueRequestingのStatusの注文の総ライセンス数）
     * @type {number}
     * @memberof PartnerLicenseInfo
     */
    'issueRequesting': number;
}
/**
 * 
 * @export
 * @interface PostActiveWorktypeRequest
 */
export interface PostActiveWorktypeRequest {
    /**
     * Active WorkTypeIDにするWorktypeの内部ID
     * @type {number}
     * @memberof PostActiveWorktypeRequest
     */
    'id'?: number;
}
/**
 * 
 * @export
 * @interface PostCheckoutPermissionRequest
 */
export interface PostCheckoutPermissionRequest {
    /**
     * 文字起こしに着手可能（チェックアウト可能）にしたい、グループ個人の一覧
     * @type {Array<Assignee>}
     * @memberof PostCheckoutPermissionRequest
     */
    'assignees': Array<Assignee>;
}
/**
 * 
 * @export
 * @interface PostSortCriteriaRequest
 */
export interface PostSortCriteriaRequest {
    /**
     * ASC/DESC
     * @type {string}
     * @memberof PostSortCriteriaRequest
     */
    'direction': string;
    /**
     * JOB_NUMBER/STATUS/ENCRYPTION/AUTHOR_ID/WORK_TYPE/FILE_NAME/FILE_LENGTH/FILE_SIZE/RECORDING_STARTED_DATE/RECORDING_FINISHED_DATE/UPLOAD_DATE/TRANSCRIPTION_STARTED_DATE/TRANSCRIPTION_FINISHED_DATE
     * @type {string}
     * @memberof PostSortCriteriaRequest
     */
    'paramName': string;
}
/**
 * 
 * @export
 * @interface PostUpdateUserRequest
 */
export interface PostUpdateUserRequest {
    /**
     * 
     * @type {number}
     * @memberof PostUpdateUserRequest
     */
    'id': number;
    /**
     * none/author/typist
     * @type {string}
     * @memberof PostUpdateUserRequest
     */
    'role': string;
    /**
     * 
     * @type {string}
     * @memberof PostUpdateUserRequest
     */
    'authorId'?: string;
    /**
     * 
     * @type {boolean}
     * @memberof PostUpdateUserRequest
     */
    'autoRenew': boolean;
    /**
     * 
     * @type {boolean}
     * @memberof PostUpdateUserRequest
     */
    'notification': boolean;
    /**
     * 
     * @type {boolean}
     * @memberof PostUpdateUserRequest
     */
    'encryption'?: boolean;
    /**
     * 
     * @type {string}
     * @memberof PostUpdateUserRequest
     */
    'encryptionPassword'?: string;
    /**
     * 
     * @type {boolean}
     * @memberof PostUpdateUserRequest
     */
    'prompt'?: boolean;
}
/**
 * 
 * @export
 * @interface PostWorktypeOptionItem
 */
export interface PostWorktypeOptionItem {
    /**
     * 
     * @type {string}
     * @memberof PostWorktypeOptionItem
     */
    'itemLabel': string;
    /**
     * Default / Blank / LastInput
     * @type {string}
     * @memberof PostWorktypeOptionItem
     */
    'defaultValueType': string;
    /**
     * 
     * @type {string}
     * @memberof PostWorktypeOptionItem
     */
    'initialValue': string;
}
/**
 * 
 * @export
 * @interface RegisterRequest
 */
export interface RegisterRequest {
    /**
     * wns or apns
     * @type {string}
     * @memberof RegisterRequest
     */
    'pns': string;
    /**
     * wnsのチャネルURI or apnsのデバイストークン
     * @type {string}
     * @memberof RegisterRequest
     */
    'handler': string;
}
/**
 * 
 * @export
 * @interface SignupRequest
 */
export interface SignupRequest {
    /**
     * 
     * @type {string}
     * @memberof SignupRequest
     */
    'name': string;
    /**
     * none/author/typist
     * @type {string}
     * @memberof SignupRequest
     */
    'role': string;
    /**
     * 
     * @type {string}
     * @memberof SignupRequest
     */
    'authorId'?: string;
    /**
     * 
     * @type {string}
     * @memberof SignupRequest
     */
    'email': string;
    /**
     * 
     * @type {boolean}
     * @memberof SignupRequest
     */
    'autoRenew': boolean;
    /**
     * 
     * @type {boolean}
     * @memberof SignupRequest
     */
    'notification': boolean;
    /**
     * 
     * @type {boolean}
     * @memberof SignupRequest
     */
    'encryption'?: boolean;
    /**
     * 
     * @type {string}
     * @memberof SignupRequest
     */
    'encryptionPassword'?: string;
    /**
     * 
     * @type {boolean}
     * @memberof SignupRequest
     */
    'prompt'?: boolean;
}
/**
 * 
 * @export
 * @interface Task
 */
export interface Task {
    /**
     * ODMS Cloud上の音声ファイルID
     * @type {number}
     * @memberof Task
     */
    'audioFileId': number;
    /**
     * AuthorID
     * @type {string}
     * @memberof Task
     */
    'authorId': string;
    /**
     * 
     * @type {string}
     * @memberof Task
     */
    'workType': string;
    /**
     * 音声ファイルに紐づくOption Itemの一覧（10個固定）
     * @type {Array<AudioOptionItem>}
     * @memberof Task
     */
    'optionItemList': Array<AudioOptionItem>;
    /**
     * 音声ファイルのBlob Storage上での保存場所(ファイル名含む)のURL
     * @type {string}
     * @memberof Task
     */
    'url': string;
    /**
     * 音声ファイル名
     * @type {string}
     * @memberof Task
     */
    'fileName': string;
    /**
     * 音声ファイルの録音時間（ミリ秒の整数値）
     * @type {string}
     * @memberof Task
     */
    'audioDuration': string;
    /**
     * 音声ファイルの録音開始日時（yyyy-mm-ddThh:mm:ss.sss）
     * @type {string}
     * @memberof Task
     */
    'audioCreatedDate': string;
    /**
     * 音声ファイルの録音終了日時（yyyy-mm-ddThh:mm:ss.sss）
     * @type {string}
     * @memberof Task
     */
    'audioFinishedDate': string;
    /**
     * 音声ファイルのアップロード日時（yyyy-mm-ddThh:mm:ss.sss）
     * @type {string}
     * @memberof Task
     */
    'audioUploadedDate': string;
    /**
     * 音声ファイルのファイルサイズ（Byte）
     * @type {number}
     * @memberof Task
     */
    'fileSize': number;
    /**
     * 音声ファイルの優先度 \"00\":Normal / \"01\":High
     * @type {string}
     * @memberof Task
     */
    'priority': string;
    /**
     * 録音形式: DSS/DS2(SP)/DS2(QP)
     * @type {string}
     * @memberof Task
     */
    'audioFormat': string;
    /**
     * コメント
     * @type {string}
     * @memberof Task
     */
    'comment': string;
    /**
     * 
     * @type {boolean}
     * @memberof Task
     */
    'isEncrypted': boolean;
    /**
     * JOBナンバー
     * @type {string}
     * @memberof Task
     */
    'jobNumber': string;
    /**
     * 
     * @type {Typist}
     * @memberof Task
     */
    'typist'?: Typist;
    /**
     * 文字起こしに着手できる（チェックアウト可能な）、タスクにアサインされているグループ/個人の一覧
     * @type {Array<Assignee>}
     * @memberof Task
     */
    'assignees': Array<Assignee>;
    /**
     * 音声ファイルのファイルステータス Uploaded / Pending / InProgress / Finished / Backup
     * @type {string}
     * @memberof Task
     */
    'status': string;
    /**
     * 文字起こし開始日時（yyyy-mm-ddThh:mm:ss.sss）
     * @type {string}
     * @memberof Task
     */
    'transcriptionStartedDate'?: string;
    /**
     * 文字起こし終了日時（yyyy-mm-ddThh:mm:ss.sss）
     * @type {string}
     * @memberof Task
     */
    'transcriptionFinishedDate'?: string;
}
/**
 * 
 * @export
 * @interface TasksResponse
 */
export interface TasksResponse {
    /**
     * タスクの取得件数（指定しない場合はデフォルト値）
     * @type {number}
     * @memberof TasksResponse
     */
    'limit': number;
    /**
     * オフセット（何件目から取得するか　設定しない場合はデフォルト値）
     * @type {number}
     * @memberof TasksResponse
     */
    'offset': number;
    /**
     * タスクの総件数
     * @type {number}
     * @memberof TasksResponse
     */
    'total': number;
    /**
     * 音声ファイル/タスク一覧
     * @type {Array<Task>}
     * @memberof TasksResponse
     */
    'tasks': Array<Task>;
}
/**
 * 
 * @export
 * @interface TemplateDownloadLocationResponse
 */
export interface TemplateDownloadLocationResponse {
    /**
     * 
     * @type {string}
     * @memberof TemplateDownloadLocationResponse
     */
    'url': string;
}
/**
 * 
 * @export
 * @interface TemplateFile
 */
export interface TemplateFile {
    /**
     * テンプレートファイルのID
     * @type {number}
     * @memberof TemplateFile
     */
    'id': number;
    /**
     * テンプレートファイルのファイル名
     * @type {string}
     * @memberof TemplateFile
     */
    'name': string;
}
/**
 * 
 * @export
 * @interface TemplateUploadFinishedRequest
 */
export interface TemplateUploadFinishedRequest {
    /**
     * テンプレートファイルのファイル名
     * @type {string}
     * @memberof TemplateUploadFinishedRequest
     */
    'name': string;
    /**
     * テンプレートファイルのアップロード先URL
     * @type {string}
     * @memberof TemplateUploadFinishedRequest
     */
    'url': string;
}
/**
 * 
 * @export
 * @interface TemplateUploadLocationResponse
 */
export interface TemplateUploadLocationResponse {
    /**
     * 
     * @type {string}
     * @memberof TemplateUploadLocationResponse
     */
    'url': string;
}
/**
 * 
 * @export
 * @interface TermInfo
 */
export interface TermInfo {
    /**
     * 利用規約種別
     * @type {string}
     * @memberof TermInfo
     */
    'documentType': string;
    /**
     * バージョン
     * @type {string}
     * @memberof TermInfo
     */
    'version': string;
}
/**
 * 
 * @export
 * @interface TokenRequest
 */
export interface TokenRequest {
    /**
     * 
     * @type {string}
     * @memberof TokenRequest
     */
    'idToken': string;
    /**
     * web or mobile or desktop
     * @type {string}
     * @memberof TokenRequest
     */
    'type': string;
}
/**
 * 
 * @export
 * @interface TokenResponse
 */
export interface TokenResponse {
    /**
     * 
     * @type {string}
     * @memberof TokenResponse
     */
    'refreshToken': string;
    /**
     * 
     * @type {string}
     * @memberof TokenResponse
     */
    'accessToken': string;
}
/**
 * 
 * @export
 * @interface Typist
 */
export interface Typist {
    /**
     * TypistのユーザーID
     * @type {number}
     * @memberof Typist
     */
    'id': number;
    /**
     * Typistのユーザー名
     * @type {string}
     * @memberof Typist
     */
    'name': string;
}
/**
 * 
 * @export
 * @interface TypistGroup
 */
export interface TypistGroup {
    /**
     * TypistGroupのID
     * @type {number}
     * @memberof TypistGroup
     */
    'id': number;
    /**
     * TypistGroup名
     * @type {string}
     * @memberof TypistGroup
     */
    'name': string;
}
/**
 * 
 * @export
 * @interface UpdateAcceptedVersionRequest
 */
export interface UpdateAcceptedVersionRequest {
    /**
     * IDトークン
     * @type {string}
     * @memberof UpdateAcceptedVersionRequest
     */
    'idToken': string;
    /**
     * 更新バージョン（EULA）
     * @type {string}
     * @memberof UpdateAcceptedVersionRequest
     */
    'acceptedEULAVersion': string;
    /**
     * 更新バージョン（PrivacyNotice）
     * @type {string}
     * @memberof UpdateAcceptedVersionRequest
     */
    'acceptedPrivacyNoticeVersion': string;
    /**
     * 更新バージョン（DPA）
     * @type {string}
     * @memberof UpdateAcceptedVersionRequest
     */
    'acceptedDPAVersion'?: string;
}
/**
 * 
 * @export
 * @interface UpdateAccountInfoRequest
 */
export interface UpdateAccountInfoRequest {
    /**
     * 親アカウントのID
     * @type {number}
     * @memberof UpdateAccountInfoRequest
     */
    'parentAccountId'?: number;
    /**
     * 代行操作許可
     * @type {boolean}
     * @memberof UpdateAccountInfoRequest
     */
    'delegationPermission': boolean;
    /**
     * プライマリ管理者ID
     * @type {number}
     * @memberof UpdateAccountInfoRequest
     */
    'primaryAdminUserId': number;
    /**
     * セカンダリ管理者ID
     * @type {number}
     * @memberof UpdateAccountInfoRequest
     */
    'secondryAdminUserId'?: number;
}
/**
 * 
 * @export
 * @interface UpdateOptionItemsRequest
 */
export interface UpdateOptionItemsRequest {
    /**
     * 
     * @type {Array<PostWorktypeOptionItem>}
     * @memberof UpdateOptionItemsRequest
     */
    'optionItems': Array<PostWorktypeOptionItem>;
}
/**
 * 
 * @export
 * @interface UpdateTypistGroupRequest
 */
export interface UpdateTypistGroupRequest {
    /**
     * 
     * @type {string}
     * @memberof UpdateTypistGroupRequest
     */
    'typistGroupName': string;
    /**
     * 
     * @type {Array<number>}
     * @memberof UpdateTypistGroupRequest
     */
    'typistIds': Array<number>;
}
/**
 * 
 * @export
 * @interface UpdateWorkflowRequest
 */
export interface UpdateWorkflowRequest {
    /**
     * Authorの内部ID
     * @type {number}
     * @memberof UpdateWorkflowRequest
     */
    'authorId': number;
    /**
     * Worktypeの内部ID
     * @type {number}
     * @memberof UpdateWorkflowRequest
     */
    'worktypeId'?: number;
    /**
     * テンプレートの内部ID
     * @type {number}
     * @memberof UpdateWorkflowRequest
     */
    'templateId'?: number;
    /**
     * ルーティング候補のタイピストユーザー/タイピストグループ
     * @type {Array<WorkflowTypist>}
     * @memberof UpdateWorkflowRequest
     */
    'typists': Array<WorkflowTypist>;
}
/**
 * 
 * @export
 * @interface UpdateWorktypesRequest
 */
export interface UpdateWorktypesRequest {
    /**
     * WorktypeID
     * @type {string}
     * @memberof UpdateWorktypesRequest
     */
    'worktypeId': string;
    /**
     * Worktypeの説明
     * @type {string}
     * @memberof UpdateWorktypesRequest
     */
    'description'?: string;
}
/**
 * 
 * @export
 * @interface User
 */
export interface User {
    /**
     * 
     * @type {number}
     * @memberof User
     */
    'id': number;
    /**
     * 
     * @type {string}
     * @memberof User
     */
    'name': string;
    /**
     * none/author/typist
     * @type {string}
     * @memberof User
     */
    'role': string;
    /**
     * 
     * @type {string}
     * @memberof User
     */
    'authorId'?: string;
    /**
     * 
     * @type {Array<string>}
     * @memberof User
     */
    'typistGroupName': Array<string>;
    /**
     * 
     * @type {string}
     * @memberof User
     */
    'email': string;
    /**
     * 
     * @type {boolean}
     * @memberof User
     */
    'emailVerified': boolean;
    /**
     * 
     * @type {boolean}
     * @memberof User
     */
    'autoRenew': boolean;
    /**
     * 
     * @type {boolean}
     * @memberof User
     */
    'notification': boolean;
    /**
     * 
     * @type {boolean}
     * @memberof User
     */
    'encryption': boolean;
    /**
     * 
     * @type {boolean}
     * @memberof User
     */
    'prompt': boolean;
    /**
     * 
     * @type {string}
     * @memberof User
     */
    'expiration'?: string;
    /**
     * 
     * @type {number}
     * @memberof User
     */
    'remaining'?: number;
    /**
     * Normal/NoLicense/Alert/Renew
     * @type {string}
     * @memberof User
     */
    'licenseStatus': string;
}
/**
 * 
 * @export
 * @interface Workflow
 */
export interface Workflow {
    /**
     * ワークフローの内部ID
     * @type {number}
     * @memberof Workflow
     */
    'id': number;
    /**
     * 
     * @type {Author}
     * @memberof Workflow
     */
    'author': Author;
    /**
     * 
     * @type {WorkflowWorktype}
     * @memberof Workflow
     */
    'worktype'?: WorkflowWorktype;
    /**
     * 
     * @type {WorkflowTemplate}
     * @memberof Workflow
     */
    'template'?: WorkflowTemplate;
    /**
     * ルーティング候補のタイピストユーザー/タイピストグループ
     * @type {Array<Assignee>}
     * @memberof Workflow
     */
    'typists': Array<Assignee>;
}
/**
 * 
 * @export
 * @interface WorkflowTemplate
 */
export interface WorkflowTemplate {
    /**
     * テンプレートの内部ID
     * @type {number}
     * @memberof WorkflowTemplate
     */
    'id': number;
    /**
     * テンプレートのファイル名
     * @type {string}
     * @memberof WorkflowTemplate
     */
    'fileName': string;
}
/**
 * 
 * @export
 * @interface WorkflowTypist
 */
export interface WorkflowTypist {
    /**
     * タイピストユーザーの内部ID
     * @type {number}
     * @memberof WorkflowTypist
     */
    'typistId'?: number;
    /**
     * タイピストグループの内部ID
     * @type {number}
     * @memberof WorkflowTypist
     */
    'typistGroupId'?: number;
}
/**
 * 
 * @export
 * @interface WorkflowWorktype
 */
export interface WorkflowWorktype {
    /**
     * Worktypeの内部ID
     * @type {number}
     * @memberof WorkflowWorktype
     */
    'id': number;
    /**
     * WorktypeID
     * @type {string}
     * @memberof WorkflowWorktype
     */
    'worktypeId': string;
}
/**
 * 
 * @export
 * @interface Worktype
 */
export interface Worktype {
    /**
     * WorktypeのID
     * @type {number}
     * @memberof Worktype
     */
    'id': number;
    /**
     * WorktypeID
     * @type {string}
     * @memberof Worktype
     */
    'worktypeId': string;
    /**
     * Worktypeの説明
     * @type {string}
     * @memberof Worktype
     */
    'description'?: string;
}

/**
 * AccountsApi - axios parameter creator
 * @export
 */
export const AccountsApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary 
         * @param {PostActiveWorktypeRequest} postActiveWorktypeRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        activeWorktype: async (postActiveWorktypeRequest: PostActiveWorktypeRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'postActiveWorktypeRequest' is not null or undefined
            assertParamExists('activeWorktype', 'postActiveWorktypeRequest', postActiveWorktypeRequest)
            const localVarPath = `/accounts/active-worktype`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(postActiveWorktypeRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * ライセンス発行をキャンセルします
         * @summary 
         * @param {CancelIssueRequest} cancelIssueRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        cancelIssue: async (cancelIssueRequest: CancelIssueRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'cancelIssueRequest' is not null or undefined
            assertParamExists('cancelIssue', 'cancelIssueRequest', cancelIssueRequest)
            const localVarPath = `/accounts/issue/cancel`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(cancelIssueRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {CreateAccountRequest} createAccountRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createAccount: async (createAccountRequest: CreateAccountRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'createAccountRequest' is not null or undefined
            assertParamExists('createAccount', 'createAccountRequest', createAccountRequest)
            const localVarPath = `/accounts`;
            // 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;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(createAccountRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {CreatePartnerAccountRequest} createPartnerAccountRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createPartnerAccount: async (createPartnerAccountRequest: CreatePartnerAccountRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'createPartnerAccountRequest' is not null or undefined
            assertParamExists('createPartnerAccount', 'createPartnerAccountRequest', createPartnerAccountRequest)
            const localVarPath = `/accounts/partner`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(createPartnerAccountRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * ログインしているユーザーのアカウント配下にタイピストグループを追加します
         * @summary 
         * @param {CreateTypistGroupRequest} createTypistGroupRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createTypistGroup: async (createTypistGroupRequest: CreateTypistGroupRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'createTypistGroupRequest' is not null or undefined
            assertParamExists('createTypistGroup', 'createTypistGroupRequest', createTypistGroupRequest)
            const localVarPath = `/accounts/typist-groups`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(createTypistGroupRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {CreateWorktypesRequest} createWorktypesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createWorktype: async (createWorktypesRequest: CreateWorktypesRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'createWorktypesRequest' is not null or undefined
            assertParamExists('createWorktype', 'createWorktypesRequest', createWorktypesRequest)
            const localVarPath = `/accounts/worktypes`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(createWorktypesRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {DeleteAccountRequest} deleteAccountRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteAccountAndData: async (deleteAccountRequest: DeleteAccountRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'deleteAccountRequest' is not null or undefined
            assertParamExists('deleteAccountAndData', 'deleteAccountRequest', deleteAccountRequest)
            const localVarPath = `/accounts/delete`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(deleteAccountRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {number} id Worktypeの内部ID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteWorktype: async (id: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('deleteWorktype', 'id', id)
            const localVarPath = `/accounts/worktypes/{id}/delete`
                .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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {GetAccountInfoMinimalAccessRequest} getAccountInfoMinimalAccessRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getAccountInfoMinimalAccess: async (getAccountInfoMinimalAccessRequest: GetAccountInfoMinimalAccessRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'getAccountInfoMinimalAccessRequest' is not null or undefined
            assertParamExists('getAccountInfoMinimalAccess', 'getAccountInfoMinimalAccessRequest', getAccountInfoMinimalAccessRequest)
            const localVarPath = `/accounts/minimal-access`;
            // 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;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(getAccountInfoMinimalAccessRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * ログインしているユーザーのアカウント配下のAuthor一覧を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getAuthors: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/accounts/authors`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 指定したアカウントの会社名を取得します
         * @summary 
         * @param {GetCompanyNameRequest} getCompanyNameRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getCompanyName: async (getCompanyNameRequest: GetCompanyNameRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'getCompanyNameRequest' is not null or undefined
            assertParamExists('getCompanyName', 'getCompanyNameRequest', getCompanyNameRequest)
            const localVarPath = `/accounts/company-name`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(getCompanyNameRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDealers: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/accounts/dealers`;
            // 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;


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 指定したアカウントのライセンス集計情報を取得します
         * @summary 
         * @param {GetLicenseSummaryRequest} getLicenseSummaryRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getLicenseSummary: async (getLicenseSummaryRequest: GetLicenseSummaryRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'getLicenseSummaryRequest' is not null or undefined
            assertParamExists('getLicenseSummary', 'getLicenseSummaryRequest', getLicenseSummaryRequest)
            const localVarPath = `/accounts/licenses/summary`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(getLicenseSummaryRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * ログインしているユーザーのアカウント情報を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getMyAccount: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/accounts/me`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {number} id Worktypeの内部ID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getOptionItems: async (id: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('getOptionItems', 'id', id)
            const localVarPath = `/accounts/worktypes/{id}/option-items`
                .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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {GetOrderHistoriesRequest} getOrderHistoriesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getOrderHistories: async (getOrderHistoriesRequest: GetOrderHistoriesRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'getOrderHistoriesRequest' is not null or undefined
            assertParamExists('getOrderHistories', 'getOrderHistoriesRequest', getOrderHistoriesRequest)
            const localVarPath = `/accounts/order-histories`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(getOrderHistoriesRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {GetPartnerLicensesRequest} getPartnerLicensesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getPartnerLicenses: async (getPartnerLicensesRequest: GetPartnerLicensesRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'getPartnerLicensesRequest' is not null or undefined
            assertParamExists('getPartnerLicenses', 'getPartnerLicensesRequest', getPartnerLicensesRequest)
            const localVarPath = `/accounts/partner-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: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication bearer required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(getPartnerLicensesRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {number} limit 取得件数
         * @param {number} offset 開始位置
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getPartners: async (limit: number, offset: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'limit' is not null or undefined
            assertParamExists('getPartners', 'limit', limit)
            // verify required parameter 'offset' is not null or undefined
            assertParamExists('getPartners', 'offset', offset)
            const localVarPath = `/accounts/partners`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (limit !== undefined) {
                localVarQueryParameter['limit'] = limit;
            }

            if (offset !== undefined) {
                localVarQueryParameter['offset'] = offset;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * ログインしているユーザーのアカウント配下でIDで指定されたタイピストグループを取得します
         * @summary 
         * @param {number} typistGroupId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTypistGroup: async (typistGroupId: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'typistGroupId' is not null or undefined
            assertParamExists('getTypistGroup', 'typistGroupId', typistGroupId)
            const localVarPath = `/accounts/typist-groups/{typistGroupId}`
                .replace(`{${"typistGroupId"}}`, encodeURIComponent(String(typistGroupId)));
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * ログインしているユーザーのアカウント配下のタイピストグループ一覧を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTypistGroups: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/accounts/typist-groups`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * ログインしているユーザーのアカウント配下のタイピスト一覧を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTypists: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/accounts/typists`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getWorktypes: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/accounts/worktypes`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {IssueLicenseRequest} issueLicenseRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        issueLicense: async (issueLicenseRequest: IssueLicenseRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'issueLicenseRequest' is not null or undefined
            assertParamExists('issueLicense', 'issueLicenseRequest', issueLicenseRequest)
            const localVarPath = `/accounts/licenses/issue`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(issueLicenseRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {UpdateAccountInfoRequest} updateAccountInfoRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateAccountInfo: async (updateAccountInfoRequest: UpdateAccountInfoRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'updateAccountInfoRequest' is not null or undefined
            assertParamExists('updateAccountInfo', 'updateAccountInfoRequest', updateAccountInfoRequest)
            const localVarPath = `/accounts/me`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(updateAccountInfoRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {number} id Worktypeの内部ID
         * @param {UpdateOptionItemsRequest} updateOptionItemsRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateOptionItems: async (id: number, updateOptionItemsRequest: UpdateOptionItemsRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('updateOptionItems', 'id', id)
            // verify required parameter 'updateOptionItemsRequest' is not null or undefined
            assertParamExists('updateOptionItems', 'updateOptionItemsRequest', updateOptionItemsRequest)
            const localVarPath = `/accounts/worktypes/{id}/option-items`
                .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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(updateOptionItemsRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * ログインしているユーザーのアカウント配下でIDで指定されたタイピストグループを更新します
         * @summary 
         * @param {number} typistGroupId 
         * @param {UpdateTypistGroupRequest} updateTypistGroupRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateTypistGroup: async (typistGroupId: number, updateTypistGroupRequest: UpdateTypistGroupRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'typistGroupId' is not null or undefined
            assertParamExists('updateTypistGroup', 'typistGroupId', typistGroupId)
            // verify required parameter 'updateTypistGroupRequest' is not null or undefined
            assertParamExists('updateTypistGroup', 'updateTypistGroupRequest', updateTypistGroupRequest)
            const localVarPath = `/accounts/typist-groups/{typistGroupId}`
                .replace(`{${"typistGroupId"}}`, encodeURIComponent(String(typistGroupId)));
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(updateTypistGroupRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {number} id Worktypeの内部ID
         * @param {UpdateWorktypesRequest} updateWorktypesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateWorktype: async (id: number, updateWorktypesRequest: UpdateWorktypesRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'id' is not null or undefined
            assertParamExists('updateWorktype', 'id', id)
            // verify required parameter 'updateWorktypesRequest' is not null or undefined
            assertParamExists('updateWorktype', 'updateWorktypesRequest', updateWorktypesRequest)
            const localVarPath = `/accounts/worktypes/{id}`
                .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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(updateWorktypesRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * AccountsApi - functional programming interface
 * @export
 */
export const AccountsApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = AccountsApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary 
         * @param {PostActiveWorktypeRequest} postActiveWorktypeRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async activeWorktype(postActiveWorktypeRequest: PostActiveWorktypeRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.activeWorktype(postActiveWorktypeRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.activeWorktype']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * ライセンス発行をキャンセルします
         * @summary 
         * @param {CancelIssueRequest} cancelIssueRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async cancelIssue(cancelIssueRequest: CancelIssueRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.cancelIssue(cancelIssueRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.cancelIssue']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {CreateAccountRequest} createAccountRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createAccount(createAccountRequest: CreateAccountRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createAccount(createAccountRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.createAccount']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {CreatePartnerAccountRequest} createPartnerAccountRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createPartnerAccount(createPartnerAccountRequest: CreatePartnerAccountRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createPartnerAccount(createPartnerAccountRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.createPartnerAccount']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * ログインしているユーザーのアカウント配下にタイピストグループを追加します
         * @summary 
         * @param {CreateTypistGroupRequest} createTypistGroupRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createTypistGroup(createTypistGroupRequest: CreateTypistGroupRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createTypistGroup(createTypistGroupRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.createTypistGroup']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {CreateWorktypesRequest} createWorktypesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createWorktype(createWorktypesRequest: CreateWorktypesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createWorktype(createWorktypesRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.createWorktype']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {DeleteAccountRequest} deleteAccountRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteAccountAndData(deleteAccountRequest: DeleteAccountRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteAccountAndData(deleteAccountRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.deleteAccountAndData']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {number} id Worktypeの内部ID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteWorktype(id: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteWorktype(id, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.deleteWorktype']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {GetAccountInfoMinimalAccessRequest} getAccountInfoMinimalAccessRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getAccountInfoMinimalAccess(getAccountInfoMinimalAccessRequest: GetAccountInfoMinimalAccessRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetAccountInfoMinimalAccessResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getAccountInfoMinimalAccess(getAccountInfoMinimalAccessRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.getAccountInfoMinimalAccess']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * ログインしているユーザーのアカウント配下のAuthor一覧を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getAuthors(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetAuthorsResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getAuthors(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.getAuthors']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 指定したアカウントの会社名を取得します
         * @summary 
         * @param {GetCompanyNameRequest} getCompanyNameRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getCompanyName(getCompanyNameRequest: GetCompanyNameRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetCompanyNameResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getCompanyName(getCompanyNameRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.getCompanyName']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getDealers(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetDealersResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getDealers(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.getDealers']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 指定したアカウントのライセンス集計情報を取得します
         * @summary 
         * @param {GetLicenseSummaryRequest} getLicenseSummaryRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getLicenseSummary(getLicenseSummaryRequest: GetLicenseSummaryRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetLicenseSummaryResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getLicenseSummary(getLicenseSummaryRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.getLicenseSummary']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * ログインしているユーザーのアカウント情報を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getMyAccount(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetMyAccountResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getMyAccount(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.getMyAccount']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {number} id Worktypeの内部ID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getOptionItems(id: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetOptionItemsResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getOptionItems(id, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.getOptionItems']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {GetOrderHistoriesRequest} getOrderHistoriesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getOrderHistories(getOrderHistoriesRequest: GetOrderHistoriesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetOrderHistoriesResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getOrderHistories(getOrderHistoriesRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.getOrderHistories']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {GetPartnerLicensesRequest} getPartnerLicensesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getPartnerLicenses(getPartnerLicensesRequest: GetPartnerLicensesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetPartnerLicensesResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getPartnerLicenses(getPartnerLicensesRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.getPartnerLicenses']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {number} limit 取得件数
         * @param {number} offset 開始位置
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getPartners(limit: number, offset: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetPartnersResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getPartners(limit, offset, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.getPartners']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * ログインしているユーザーのアカウント配下でIDで指定されたタイピストグループを取得します
         * @summary 
         * @param {number} typistGroupId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getTypistGroup(typistGroupId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetTypistGroupResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getTypistGroup(typistGroupId, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.getTypistGroup']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * ログインしているユーザーのアカウント配下のタイピストグループ一覧を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getTypistGroups(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetTypistGroupsResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getTypistGroups(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.getTypistGroups']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * ログインしているユーザーのアカウント配下のタイピスト一覧を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getTypists(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetTypistsResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getTypists(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.getTypists']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getWorktypes(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetWorktypesResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getWorktypes(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.getWorktypes']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {IssueLicenseRequest} issueLicenseRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async issueLicense(issueLicenseRequest: IssueLicenseRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.issueLicense(issueLicenseRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.issueLicense']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {UpdateAccountInfoRequest} updateAccountInfoRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateAccountInfo(updateAccountInfoRequest: UpdateAccountInfoRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateAccountInfo(updateAccountInfoRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.updateAccountInfo']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {number} id Worktypeの内部ID
         * @param {UpdateOptionItemsRequest} updateOptionItemsRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateOptionItems(id: number, updateOptionItemsRequest: UpdateOptionItemsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateOptionItems(id, updateOptionItemsRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.updateOptionItems']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * ログインしているユーザーのアカウント配下でIDで指定されたタイピストグループを更新します
         * @summary 
         * @param {number} typistGroupId 
         * @param {UpdateTypistGroupRequest} updateTypistGroupRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateTypistGroup(typistGroupId: number, updateTypistGroupRequest: UpdateTypistGroupRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateTypistGroup(typistGroupId, updateTypistGroupRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.updateTypistGroup']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {number} id Worktypeの内部ID
         * @param {UpdateWorktypesRequest} updateWorktypesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateWorktype(id: number, updateWorktypesRequest: UpdateWorktypesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateWorktype(id, updateWorktypesRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AccountsApi.updateWorktype']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
    }
};

/**
 * AccountsApi - factory interface
 * @export
 */
export const AccountsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = AccountsApiFp(configuration)
    return {
        /**
         * 
         * @summary 
         * @param {PostActiveWorktypeRequest} postActiveWorktypeRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        activeWorktype(postActiveWorktypeRequest: PostActiveWorktypeRequest, options?: any): AxiosPromise<object> {
            return localVarFp.activeWorktype(postActiveWorktypeRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * ライセンス発行をキャンセルします
         * @summary 
         * @param {CancelIssueRequest} cancelIssueRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        cancelIssue(cancelIssueRequest: CancelIssueRequest, options?: any): AxiosPromise<object> {
            return localVarFp.cancelIssue(cancelIssueRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {CreateAccountRequest} createAccountRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createAccount(createAccountRequest: CreateAccountRequest, options?: any): AxiosPromise<object> {
            return localVarFp.createAccount(createAccountRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {CreatePartnerAccountRequest} createPartnerAccountRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createPartnerAccount(createPartnerAccountRequest: CreatePartnerAccountRequest, options?: any): AxiosPromise<object> {
            return localVarFp.createPartnerAccount(createPartnerAccountRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * ログインしているユーザーのアカウント配下にタイピストグループを追加します
         * @summary 
         * @param {CreateTypistGroupRequest} createTypistGroupRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createTypistGroup(createTypistGroupRequest: CreateTypistGroupRequest, options?: any): AxiosPromise<object> {
            return localVarFp.createTypistGroup(createTypistGroupRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {CreateWorktypesRequest} createWorktypesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createWorktype(createWorktypesRequest: CreateWorktypesRequest, options?: any): AxiosPromise<object> {
            return localVarFp.createWorktype(createWorktypesRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {DeleteAccountRequest} deleteAccountRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteAccountAndData(deleteAccountRequest: DeleteAccountRequest, options?: any): AxiosPromise<object> {
            return localVarFp.deleteAccountAndData(deleteAccountRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {number} id Worktypeの内部ID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteWorktype(id: number, options?: any): AxiosPromise<object> {
            return localVarFp.deleteWorktype(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {GetAccountInfoMinimalAccessRequest} getAccountInfoMinimalAccessRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getAccountInfoMinimalAccess(getAccountInfoMinimalAccessRequest: GetAccountInfoMinimalAccessRequest, options?: any): AxiosPromise<GetAccountInfoMinimalAccessResponse> {
            return localVarFp.getAccountInfoMinimalAccess(getAccountInfoMinimalAccessRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * ログインしているユーザーのアカウント配下のAuthor一覧を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getAuthors(options?: any): AxiosPromise<GetAuthorsResponse> {
            return localVarFp.getAuthors(options).then((request) => request(axios, basePath));
        },
        /**
         * 指定したアカウントの会社名を取得します
         * @summary 
         * @param {GetCompanyNameRequest} getCompanyNameRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getCompanyName(getCompanyNameRequest: GetCompanyNameRequest, options?: any): AxiosPromise<GetCompanyNameResponse> {
            return localVarFp.getCompanyName(getCompanyNameRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getDealers(options?: any): AxiosPromise<GetDealersResponse> {
            return localVarFp.getDealers(options).then((request) => request(axios, basePath));
        },
        /**
         * 指定したアカウントのライセンス集計情報を取得します
         * @summary 
         * @param {GetLicenseSummaryRequest} getLicenseSummaryRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getLicenseSummary(getLicenseSummaryRequest: GetLicenseSummaryRequest, options?: any): AxiosPromise<GetLicenseSummaryResponse> {
            return localVarFp.getLicenseSummary(getLicenseSummaryRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * ログインしているユーザーのアカウント情報を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getMyAccount(options?: any): AxiosPromise<GetMyAccountResponse> {
            return localVarFp.getMyAccount(options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {number} id Worktypeの内部ID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getOptionItems(id: number, options?: any): AxiosPromise<GetOptionItemsResponse> {
            return localVarFp.getOptionItems(id, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {GetOrderHistoriesRequest} getOrderHistoriesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getOrderHistories(getOrderHistoriesRequest: GetOrderHistoriesRequest, options?: any): AxiosPromise<GetOrderHistoriesResponse> {
            return localVarFp.getOrderHistories(getOrderHistoriesRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {GetPartnerLicensesRequest} getPartnerLicensesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getPartnerLicenses(getPartnerLicensesRequest: GetPartnerLicensesRequest, options?: any): AxiosPromise<GetPartnerLicensesResponse> {
            return localVarFp.getPartnerLicenses(getPartnerLicensesRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {number} limit 取得件数
         * @param {number} offset 開始位置
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getPartners(limit: number, offset: number, options?: any): AxiosPromise<GetPartnersResponse> {
            return localVarFp.getPartners(limit, offset, options).then((request) => request(axios, basePath));
        },
        /**
         * ログインしているユーザーのアカウント配下でIDで指定されたタイピストグループを取得します
         * @summary 
         * @param {number} typistGroupId 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTypistGroup(typistGroupId: number, options?: any): AxiosPromise<GetTypistGroupResponse> {
            return localVarFp.getTypistGroup(typistGroupId, options).then((request) => request(axios, basePath));
        },
        /**
         * ログインしているユーザーのアカウント配下のタイピストグループ一覧を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTypistGroups(options?: any): AxiosPromise<GetTypistGroupsResponse> {
            return localVarFp.getTypistGroups(options).then((request) => request(axios, basePath));
        },
        /**
         * ログインしているユーザーのアカウント配下のタイピスト一覧を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTypists(options?: any): AxiosPromise<GetTypistsResponse> {
            return localVarFp.getTypists(options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getWorktypes(options?: any): AxiosPromise<GetWorktypesResponse> {
            return localVarFp.getWorktypes(options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {IssueLicenseRequest} issueLicenseRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        issueLicense(issueLicenseRequest: IssueLicenseRequest, options?: any): AxiosPromise<object> {
            return localVarFp.issueLicense(issueLicenseRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {UpdateAccountInfoRequest} updateAccountInfoRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateAccountInfo(updateAccountInfoRequest: UpdateAccountInfoRequest, options?: any): AxiosPromise<object> {
            return localVarFp.updateAccountInfo(updateAccountInfoRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {number} id Worktypeの内部ID
         * @param {UpdateOptionItemsRequest} updateOptionItemsRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateOptionItems(id: number, updateOptionItemsRequest: UpdateOptionItemsRequest, options?: any): AxiosPromise<object> {
            return localVarFp.updateOptionItems(id, updateOptionItemsRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * ログインしているユーザーのアカウント配下でIDで指定されたタイピストグループを更新します
         * @summary 
         * @param {number} typistGroupId 
         * @param {UpdateTypistGroupRequest} updateTypistGroupRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateTypistGroup(typistGroupId: number, updateTypistGroupRequest: UpdateTypistGroupRequest, options?: any): AxiosPromise<object> {
            return localVarFp.updateTypistGroup(typistGroupId, updateTypistGroupRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {number} id Worktypeの内部ID
         * @param {UpdateWorktypesRequest} updateWorktypesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateWorktype(id: number, updateWorktypesRequest: UpdateWorktypesRequest, options?: any): AxiosPromise<object> {
            return localVarFp.updateWorktype(id, updateWorktypesRequest, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * AccountsApi - object-oriented interface
 * @export
 * @class AccountsApi
 * @extends {BaseAPI}
 */
export class AccountsApi extends BaseAPI {
    /**
     * 
     * @summary 
     * @param {PostActiveWorktypeRequest} postActiveWorktypeRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public activeWorktype(postActiveWorktypeRequest: PostActiveWorktypeRequest, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).activeWorktype(postActiveWorktypeRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * ライセンス発行をキャンセルします
     * @summary 
     * @param {CancelIssueRequest} cancelIssueRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public cancelIssue(cancelIssueRequest: CancelIssueRequest, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).cancelIssue(cancelIssueRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {CreateAccountRequest} createAccountRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public createAccount(createAccountRequest: CreateAccountRequest, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).createAccount(createAccountRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {CreatePartnerAccountRequest} createPartnerAccountRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public createPartnerAccount(createPartnerAccountRequest: CreatePartnerAccountRequest, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).createPartnerAccount(createPartnerAccountRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * ログインしているユーザーのアカウント配下にタイピストグループを追加します
     * @summary 
     * @param {CreateTypistGroupRequest} createTypistGroupRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public createTypistGroup(createTypistGroupRequest: CreateTypistGroupRequest, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).createTypistGroup(createTypistGroupRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {CreateWorktypesRequest} createWorktypesRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public createWorktype(createWorktypesRequest: CreateWorktypesRequest, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).createWorktype(createWorktypesRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {DeleteAccountRequest} deleteAccountRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public deleteAccountAndData(deleteAccountRequest: DeleteAccountRequest, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).deleteAccountAndData(deleteAccountRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {number} id Worktypeの内部ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public deleteWorktype(id: number, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).deleteWorktype(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {GetAccountInfoMinimalAccessRequest} getAccountInfoMinimalAccessRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public getAccountInfoMinimalAccess(getAccountInfoMinimalAccessRequest: GetAccountInfoMinimalAccessRequest, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).getAccountInfoMinimalAccess(getAccountInfoMinimalAccessRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * ログインしているユーザーのアカウント配下のAuthor一覧を取得します
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public getAuthors(options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).getAuthors(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 指定したアカウントの会社名を取得します
     * @summary 
     * @param {GetCompanyNameRequest} getCompanyNameRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public getCompanyName(getCompanyNameRequest: GetCompanyNameRequest, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).getCompanyName(getCompanyNameRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public getDealers(options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).getDealers(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 指定したアカウントのライセンス集計情報を取得します
     * @summary 
     * @param {GetLicenseSummaryRequest} getLicenseSummaryRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public getLicenseSummary(getLicenseSummaryRequest: GetLicenseSummaryRequest, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).getLicenseSummary(getLicenseSummaryRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * ログインしているユーザーのアカウント情報を取得します
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public getMyAccount(options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).getMyAccount(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {number} id Worktypeの内部ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public getOptionItems(id: number, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).getOptionItems(id, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {GetOrderHistoriesRequest} getOrderHistoriesRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public getOrderHistories(getOrderHistoriesRequest: GetOrderHistoriesRequest, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).getOrderHistories(getOrderHistoriesRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {GetPartnerLicensesRequest} getPartnerLicensesRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public getPartnerLicenses(getPartnerLicensesRequest: GetPartnerLicensesRequest, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).getPartnerLicenses(getPartnerLicensesRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {number} limit 取得件数
     * @param {number} offset 開始位置
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public getPartners(limit: number, offset: number, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).getPartners(limit, offset, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * ログインしているユーザーのアカウント配下でIDで指定されたタイピストグループを取得します
     * @summary 
     * @param {number} typistGroupId 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public getTypistGroup(typistGroupId: number, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).getTypistGroup(typistGroupId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * ログインしているユーザーのアカウント配下のタイピストグループ一覧を取得します
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public getTypistGroups(options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).getTypistGroups(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * ログインしているユーザーのアカウント配下のタイピスト一覧を取得します
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public getTypists(options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).getTypists(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public getWorktypes(options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).getWorktypes(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {IssueLicenseRequest} issueLicenseRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public issueLicense(issueLicenseRequest: IssueLicenseRequest, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).issueLicense(issueLicenseRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {UpdateAccountInfoRequest} updateAccountInfoRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public updateAccountInfo(updateAccountInfoRequest: UpdateAccountInfoRequest, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).updateAccountInfo(updateAccountInfoRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {number} id Worktypeの内部ID
     * @param {UpdateOptionItemsRequest} updateOptionItemsRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public updateOptionItems(id: number, updateOptionItemsRequest: UpdateOptionItemsRequest, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).updateOptionItems(id, updateOptionItemsRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * ログインしているユーザーのアカウント配下でIDで指定されたタイピストグループを更新します
     * @summary 
     * @param {number} typistGroupId 
     * @param {UpdateTypistGroupRequest} updateTypistGroupRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public updateTypistGroup(typistGroupId: number, updateTypistGroupRequest: UpdateTypistGroupRequest, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).updateTypistGroup(typistGroupId, updateTypistGroupRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {number} id Worktypeの内部ID
     * @param {UpdateWorktypesRequest} updateWorktypesRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AccountsApi
     */
    public updateWorktype(id: number, updateWorktypesRequest: UpdateWorktypesRequest, options?: AxiosRequestConfig) {
        return AccountsApiFp(this.configuration).updateWorktype(id, updateWorktypesRequest, options).then((request) => request(this.axios, this.basePath));
    }
}



/**
 * AuthApi - axios parameter creator
 * @export
 */
export const AuthApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * リフレッシュトークンを元にアクセストークンを再生成します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        accessToken: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/auth/accessToken`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 代行操作用のアクセストークンを再生成します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        delegationAccessToken: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/auth/delegation/access-token`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 代行操作用のリフレッシュトークン・アクセストークンを生成します
         * @summary 
         * @param {DelegationTokenRequest} delegationTokenRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        delegationToken: async (delegationTokenRequest: DelegationTokenRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'delegationTokenRequest' is not null or undefined
            assertParamExists('delegationToken', 'delegationTokenRequest', delegationTokenRequest)
            const localVarPath = `/auth/delegation/token`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(delegationTokenRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * AzureADB2Cでのサインイン後に払いだされるIDトークンを元に認証用のアクセストークンとリフレッシュトークンを生成します
         * @summary 
         * @param {TokenRequest} tokenRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        token: async (tokenRequest: TokenRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'tokenRequest' is not null or undefined
            assertParamExists('token', 'tokenRequest', tokenRequest)
            const localVarPath = `/auth/token`;
            // 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;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(tokenRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * AuthApi - functional programming interface
 * @export
 */
export const AuthApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = AuthApiAxiosParamCreator(configuration)
    return {
        /**
         * リフレッシュトークンを元にアクセストークンを再生成します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async accessToken(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccessTokenResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.accessToken(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AuthApi.accessToken']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 代行操作用のアクセストークンを再生成します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async delegationAccessToken(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DelegationAccessTokenResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.delegationAccessToken(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AuthApi.delegationAccessToken']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 代行操作用のリフレッシュトークン・アクセストークンを生成します
         * @summary 
         * @param {DelegationTokenRequest} delegationTokenRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async delegationToken(delegationTokenRequest: DelegationTokenRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DelegationTokenResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.delegationToken(delegationTokenRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AuthApi.delegationToken']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * AzureADB2Cでのサインイン後に払いだされるIDトークンを元に認証用のアクセストークンとリフレッシュトークンを生成します
         * @summary 
         * @param {TokenRequest} tokenRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async token(tokenRequest: TokenRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TokenResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.token(tokenRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['AuthApi.token']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
    }
};

/**
 * AuthApi - factory interface
 * @export
 */
export const AuthApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = AuthApiFp(configuration)
    return {
        /**
         * リフレッシュトークンを元にアクセストークンを再生成します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        accessToken(options?: any): AxiosPromise<AccessTokenResponse> {
            return localVarFp.accessToken(options).then((request) => request(axios, basePath));
        },
        /**
         * 代行操作用のアクセストークンを再生成します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        delegationAccessToken(options?: any): AxiosPromise<DelegationAccessTokenResponse> {
            return localVarFp.delegationAccessToken(options).then((request) => request(axios, basePath));
        },
        /**
         * 代行操作用のリフレッシュトークン・アクセストークンを生成します
         * @summary 
         * @param {DelegationTokenRequest} delegationTokenRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        delegationToken(delegationTokenRequest: DelegationTokenRequest, options?: any): AxiosPromise<DelegationTokenResponse> {
            return localVarFp.delegationToken(delegationTokenRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * AzureADB2Cでのサインイン後に払いだされるIDトークンを元に認証用のアクセストークンとリフレッシュトークンを生成します
         * @summary 
         * @param {TokenRequest} tokenRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        token(tokenRequest: TokenRequest, options?: any): AxiosPromise<TokenResponse> {
            return localVarFp.token(tokenRequest, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * AuthApi - object-oriented interface
 * @export
 * @class AuthApi
 * @extends {BaseAPI}
 */
export class AuthApi extends BaseAPI {
    /**
     * リフレッシュトークンを元にアクセストークンを再生成します
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AuthApi
     */
    public accessToken(options?: AxiosRequestConfig) {
        return AuthApiFp(this.configuration).accessToken(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 代行操作用のアクセストークンを再生成します
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AuthApi
     */
    public delegationAccessToken(options?: AxiosRequestConfig) {
        return AuthApiFp(this.configuration).delegationAccessToken(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 代行操作用のリフレッシュトークン・アクセストークンを生成します
     * @summary 
     * @param {DelegationTokenRequest} delegationTokenRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AuthApi
     */
    public delegationToken(delegationTokenRequest: DelegationTokenRequest, options?: AxiosRequestConfig) {
        return AuthApiFp(this.configuration).delegationToken(delegationTokenRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * AzureADB2Cでのサインイン後に払いだされるIDトークンを元に認証用のアクセストークンとリフレッシュトークンを生成します
     * @summary 
     * @param {TokenRequest} tokenRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof AuthApi
     */
    public token(tokenRequest: TokenRequest, options?: AxiosRequestConfig) {
        return AuthApiFp(this.configuration).token(tokenRequest, options).then((request) => request(this.axios, this.basePath));
    }
}



/**
 * DefaultApi - axios parameter creator
 * @export
 */
export const DefaultApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        checkHealth: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/health`;
            // 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;


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * DefaultApi - functional programming interface
 * @export
 */
export const DefaultApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = DefaultApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async checkHealth(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.checkHealth(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['DefaultApi.checkHealth']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
    }
};

/**
 * DefaultApi - factory interface
 * @export
 */
export const DefaultApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = DefaultApiFp(configuration)
    return {
        /**
         * 
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        checkHealth(options?: any): AxiosPromise<void> {
            return localVarFp.checkHealth(options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * DefaultApi - object-oriented interface
 * @export
 * @class DefaultApi
 * @extends {BaseAPI}
 */
export class DefaultApi extends BaseAPI {
    /**
     * 
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof DefaultApi
     */
    public checkHealth(options?: AxiosRequestConfig) {
        return DefaultApiFp(this.configuration).checkHealth(options).then((request) => request(this.axios, this.basePath));
    }
}



/**
 * FilesApi - axios parameter creator
 * @export
 */
export const FilesApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 指定した音声ファイルのBlob Storage上のダウンロード先アクセスURLを取得します
         * @summary 
         * @param {number} audioFileId ODMSCloud上で管理する音声ファイルのID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        downloadLocation: async (audioFileId: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'audioFileId' is not null or undefined
            assertParamExists('downloadLocation', 'audioFileId', audioFileId)
            const localVarPath = `/files/audio/download-location`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (audioFileId !== undefined) {
                localVarQueryParameter['audioFileId'] = audioFileId;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 指定した音声ファイルに対応したテンプレートファイルのBlob Storage上のダウンロード先アクセスURLを取得します
         * @summary 
         * @param {number} audioFileId 文字起こし対象の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        downloadTemplateLocation: async (audioFileId: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'audioFileId' is not null or undefined
            assertParamExists('downloadTemplateLocation', 'audioFileId', audioFileId)
            const localVarPath = `/files/template/download-location`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (audioFileId !== undefined) {
                localVarQueryParameter['audioFileId'] = audioFileId;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * アップロードが完了した音声ファイルの情報を登録し、文字起こしタスクを生成します
         * @summary 
         * @param {AudioUploadFinishedRequest} audioUploadFinishedRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        uploadFinished: async (audioUploadFinishedRequest: AudioUploadFinishedRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'audioUploadFinishedRequest' is not null or undefined
            assertParamExists('uploadFinished', 'audioUploadFinishedRequest', audioUploadFinishedRequest)
            const localVarPath = `/files/audio/upload-finished`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(audioUploadFinishedRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * ログイン中ユーザー用のBlob Storage上の音声ファイルのアップロード先アクセスURLを取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        uploadLocation: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/files/audio/upload-location`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * アップロードが完了したテンプレートファイルの情報を登録します
         * @summary 
         * @param {TemplateUploadFinishedRequest} templateUploadFinishedRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        uploadTemplateFinished: async (templateUploadFinishedRequest: TemplateUploadFinishedRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'templateUploadFinishedRequest' is not null or undefined
            assertParamExists('uploadTemplateFinished', 'templateUploadFinishedRequest', templateUploadFinishedRequest)
            const localVarPath = `/files/template/upload-finished`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(templateUploadFinishedRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * ログイン中ユーザー用のBlob Storage上のテンプレートファイルのアップロード先アクセスURLを取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        uploadTemplateLocation: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/files/template/upload-location`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * FilesApi - functional programming interface
 * @export
 */
export const FilesApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = FilesApiAxiosParamCreator(configuration)
    return {
        /**
         * 指定した音声ファイルのBlob Storage上のダウンロード先アクセスURLを取得します
         * @summary 
         * @param {number} audioFileId ODMSCloud上で管理する音声ファイルのID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async downloadLocation(audioFileId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AudioDownloadLocationResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.downloadLocation(audioFileId, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['FilesApi.downloadLocation']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 指定した音声ファイルに対応したテンプレートファイルのBlob Storage上のダウンロード先アクセスURLを取得します
         * @summary 
         * @param {number} audioFileId 文字起こし対象の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async downloadTemplateLocation(audioFileId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TemplateDownloadLocationResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.downloadTemplateLocation(audioFileId, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['FilesApi.downloadTemplateLocation']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * アップロードが完了した音声ファイルの情報を登録し、文字起こしタスクを生成します
         * @summary 
         * @param {AudioUploadFinishedRequest} audioUploadFinishedRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async uploadFinished(audioUploadFinishedRequest: AudioUploadFinishedRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AudioUploadFinishedResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.uploadFinished(audioUploadFinishedRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['FilesApi.uploadFinished']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * ログイン中ユーザー用のBlob Storage上の音声ファイルのアップロード先アクセスURLを取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async uploadLocation(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AudioUploadLocationResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.uploadLocation(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['FilesApi.uploadLocation']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * アップロードが完了したテンプレートファイルの情報を登録します
         * @summary 
         * @param {TemplateUploadFinishedRequest} templateUploadFinishedRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async uploadTemplateFinished(templateUploadFinishedRequest: TemplateUploadFinishedRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.uploadTemplateFinished(templateUploadFinishedRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['FilesApi.uploadTemplateFinished']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * ログイン中ユーザー用のBlob Storage上のテンプレートファイルのアップロード先アクセスURLを取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async uploadTemplateLocation(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TemplateUploadLocationResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.uploadTemplateLocation(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['FilesApi.uploadTemplateLocation']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
    }
};

/**
 * FilesApi - factory interface
 * @export
 */
export const FilesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = FilesApiFp(configuration)
    return {
        /**
         * 指定した音声ファイルのBlob Storage上のダウンロード先アクセスURLを取得します
         * @summary 
         * @param {number} audioFileId ODMSCloud上で管理する音声ファイルのID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        downloadLocation(audioFileId: number, options?: any): AxiosPromise<AudioDownloadLocationResponse> {
            return localVarFp.downloadLocation(audioFileId, options).then((request) => request(axios, basePath));
        },
        /**
         * 指定した音声ファイルに対応したテンプレートファイルのBlob Storage上のダウンロード先アクセスURLを取得します
         * @summary 
         * @param {number} audioFileId 文字起こし対象の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        downloadTemplateLocation(audioFileId: number, options?: any): AxiosPromise<TemplateDownloadLocationResponse> {
            return localVarFp.downloadTemplateLocation(audioFileId, options).then((request) => request(axios, basePath));
        },
        /**
         * アップロードが完了した音声ファイルの情報を登録し、文字起こしタスクを生成します
         * @summary 
         * @param {AudioUploadFinishedRequest} audioUploadFinishedRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        uploadFinished(audioUploadFinishedRequest: AudioUploadFinishedRequest, options?: any): AxiosPromise<AudioUploadFinishedResponse> {
            return localVarFp.uploadFinished(audioUploadFinishedRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * ログイン中ユーザー用のBlob Storage上の音声ファイルのアップロード先アクセスURLを取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        uploadLocation(options?: any): AxiosPromise<AudioUploadLocationResponse> {
            return localVarFp.uploadLocation(options).then((request) => request(axios, basePath));
        },
        /**
         * アップロードが完了したテンプレートファイルの情報を登録します
         * @summary 
         * @param {TemplateUploadFinishedRequest} templateUploadFinishedRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        uploadTemplateFinished(templateUploadFinishedRequest: TemplateUploadFinishedRequest, options?: any): AxiosPromise<object> {
            return localVarFp.uploadTemplateFinished(templateUploadFinishedRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * ログイン中ユーザー用のBlob Storage上のテンプレートファイルのアップロード先アクセスURLを取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        uploadTemplateLocation(options?: any): AxiosPromise<TemplateUploadLocationResponse> {
            return localVarFp.uploadTemplateLocation(options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * FilesApi - object-oriented interface
 * @export
 * @class FilesApi
 * @extends {BaseAPI}
 */
export class FilesApi extends BaseAPI {
    /**
     * 指定した音声ファイルのBlob Storage上のダウンロード先アクセスURLを取得します
     * @summary 
     * @param {number} audioFileId ODMSCloud上で管理する音声ファイルのID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FilesApi
     */
    public downloadLocation(audioFileId: number, options?: AxiosRequestConfig) {
        return FilesApiFp(this.configuration).downloadLocation(audioFileId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 指定した音声ファイルに対応したテンプレートファイルのBlob Storage上のダウンロード先アクセスURLを取得します
     * @summary 
     * @param {number} audioFileId 文字起こし対象の音声ファイルID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FilesApi
     */
    public downloadTemplateLocation(audioFileId: number, options?: AxiosRequestConfig) {
        return FilesApiFp(this.configuration).downloadTemplateLocation(audioFileId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * アップロードが完了した音声ファイルの情報を登録し、文字起こしタスクを生成します
     * @summary 
     * @param {AudioUploadFinishedRequest} audioUploadFinishedRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FilesApi
     */
    public uploadFinished(audioUploadFinishedRequest: AudioUploadFinishedRequest, options?: AxiosRequestConfig) {
        return FilesApiFp(this.configuration).uploadFinished(audioUploadFinishedRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * ログイン中ユーザー用のBlob Storage上の音声ファイルのアップロード先アクセスURLを取得します
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FilesApi
     */
    public uploadLocation(options?: AxiosRequestConfig) {
        return FilesApiFp(this.configuration).uploadLocation(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * アップロードが完了したテンプレートファイルの情報を登録します
     * @summary 
     * @param {TemplateUploadFinishedRequest} templateUploadFinishedRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FilesApi
     */
    public uploadTemplateFinished(templateUploadFinishedRequest: TemplateUploadFinishedRequest, options?: AxiosRequestConfig) {
        return FilesApiFp(this.configuration).uploadTemplateFinished(templateUploadFinishedRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * ログイン中ユーザー用のBlob Storage上のテンプレートファイルのアップロード先アクセスURLを取得します
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof FilesApi
     */
    public uploadTemplateLocation(options?: AxiosRequestConfig) {
        return FilesApiFp(this.configuration).uploadTemplateLocation(options).then((request) => request(this.axios, this.basePath));
    }
}



/**
 * LicensesApi - axios parameter creator
 * @export
 */
export const LicensesApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary 
         * @param {ActivateCardLicensesRequest} activateCardLicensesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        activateCardLicenses: async (activateCardLicensesRequest: ActivateCardLicensesRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'activateCardLicensesRequest' is not null or undefined
            assertParamExists('activateCardLicenses', 'activateCardLicensesRequest', activateCardLicensesRequest)
            const localVarPath = `/licenses/cards/activate`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(activateCardLicensesRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * ライセンス注文をキャンセルします
         * @summary 
         * @param {CancelOrderRequest} cancelOrderRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        cancelOrder: async (cancelOrderRequest: CancelOrderRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'cancelOrderRequest' is not null or undefined
            assertParamExists('cancelOrder', 'cancelOrderRequest', cancelOrderRequest)
            const localVarPath = `/licenses/orders/cancel`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(cancelOrderRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {CreateOrdersRequest} createOrdersRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createOrders: async (createOrdersRequest: CreateOrdersRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'createOrdersRequest' is not null or undefined
            assertParamExists('createOrders', 'createOrdersRequest', createOrdersRequest)
            const localVarPath = `/licenses/orders`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(createOrdersRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 割り当て可能なライセンスを取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getAllocatableLicenses: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/licenses/allocatable`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {IssueCardLicensesRequest} issueCardLicensesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        issueCardLicenses: async (issueCardLicensesRequest: IssueCardLicensesRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'issueCardLicensesRequest' is not null or undefined
            assertParamExists('issueCardLicenses', 'issueCardLicensesRequest', issueCardLicensesRequest)
            const localVarPath = `/licenses/cards`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(issueCardLicensesRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * LicensesApi - functional programming interface
 * @export
 */
export const LicensesApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = LicensesApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary 
         * @param {ActivateCardLicensesRequest} activateCardLicensesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async activateCardLicenses(activateCardLicensesRequest: ActivateCardLicensesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.activateCardLicenses(activateCardLicensesRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['LicensesApi.activateCardLicenses']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * ライセンス注文をキャンセルします
         * @summary 
         * @param {CancelOrderRequest} cancelOrderRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async cancelOrder(cancelOrderRequest: CancelOrderRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.cancelOrder(cancelOrderRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['LicensesApi.cancelOrder']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {CreateOrdersRequest} createOrdersRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createOrders(createOrdersRequest: CreateOrdersRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createOrders(createOrdersRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['LicensesApi.createOrders']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 割り当て可能なライセンスを取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getAllocatableLicenses(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetAllocatableLicensesResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getAllocatableLicenses(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['LicensesApi.getAllocatableLicenses']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {IssueCardLicensesRequest} issueCardLicensesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async issueCardLicenses(issueCardLicensesRequest: IssueCardLicensesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<IssueCardLicensesResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.issueCardLicenses(issueCardLicensesRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['LicensesApi.issueCardLicenses']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
    }
};

/**
 * LicensesApi - factory interface
 * @export
 */
export const LicensesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = LicensesApiFp(configuration)
    return {
        /**
         * 
         * @summary 
         * @param {ActivateCardLicensesRequest} activateCardLicensesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        activateCardLicenses(activateCardLicensesRequest: ActivateCardLicensesRequest, options?: any): AxiosPromise<object> {
            return localVarFp.activateCardLicenses(activateCardLicensesRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * ライセンス注文をキャンセルします
         * @summary 
         * @param {CancelOrderRequest} cancelOrderRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        cancelOrder(cancelOrderRequest: CancelOrderRequest, options?: any): AxiosPromise<object> {
            return localVarFp.cancelOrder(cancelOrderRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {CreateOrdersRequest} createOrdersRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createOrders(createOrdersRequest: CreateOrdersRequest, options?: any): AxiosPromise<object> {
            return localVarFp.createOrders(createOrdersRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 割り当て可能なライセンスを取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getAllocatableLicenses(options?: any): AxiosPromise<GetAllocatableLicensesResponse> {
            return localVarFp.getAllocatableLicenses(options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {IssueCardLicensesRequest} issueCardLicensesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        issueCardLicenses(issueCardLicensesRequest: IssueCardLicensesRequest, options?: any): AxiosPromise<IssueCardLicensesResponse> {
            return localVarFp.issueCardLicenses(issueCardLicensesRequest, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * LicensesApi - object-oriented interface
 * @export
 * @class LicensesApi
 * @extends {BaseAPI}
 */
export class LicensesApi extends BaseAPI {
    /**
     * 
     * @summary 
     * @param {ActivateCardLicensesRequest} activateCardLicensesRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LicensesApi
     */
    public activateCardLicenses(activateCardLicensesRequest: ActivateCardLicensesRequest, options?: AxiosRequestConfig) {
        return LicensesApiFp(this.configuration).activateCardLicenses(activateCardLicensesRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * ライセンス注文をキャンセルします
     * @summary 
     * @param {CancelOrderRequest} cancelOrderRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LicensesApi
     */
    public cancelOrder(cancelOrderRequest: CancelOrderRequest, options?: AxiosRequestConfig) {
        return LicensesApiFp(this.configuration).cancelOrder(cancelOrderRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {CreateOrdersRequest} createOrdersRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LicensesApi
     */
    public createOrders(createOrdersRequest: CreateOrdersRequest, options?: AxiosRequestConfig) {
        return LicensesApiFp(this.configuration).createOrders(createOrdersRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 割り当て可能なライセンスを取得します
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LicensesApi
     */
    public getAllocatableLicenses(options?: AxiosRequestConfig) {
        return LicensesApiFp(this.configuration).getAllocatableLicenses(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {IssueCardLicensesRequest} issueCardLicensesRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof LicensesApi
     */
    public issueCardLicenses(issueCardLicensesRequest: IssueCardLicensesRequest, options?: AxiosRequestConfig) {
        return LicensesApiFp(this.configuration).issueCardLicenses(issueCardLicensesRequest, options).then((request) => request(this.axios, this.basePath));
    }
}



/**
 * NotificationApi - axios parameter creator
 * @export
 */
export const NotificationApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary 
         * @param {RegisterRequest} registerRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        register: async (registerRequest: RegisterRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'registerRequest' is not null or undefined
            assertParamExists('register', 'registerRequest', registerRequest)
            const localVarPath = `/notification/register`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(registerRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * NotificationApi - functional programming interface
 * @export
 */
export const NotificationApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = NotificationApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary 
         * @param {RegisterRequest} registerRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async register(registerRequest: RegisterRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.register(registerRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['NotificationApi.register']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
    }
};

/**
 * NotificationApi - factory interface
 * @export
 */
export const NotificationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = NotificationApiFp(configuration)
    return {
        /**
         * 
         * @summary 
         * @param {RegisterRequest} registerRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        register(registerRequest: RegisterRequest, options?: any): AxiosPromise<object> {
            return localVarFp.register(registerRequest, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * NotificationApi - object-oriented interface
 * @export
 * @class NotificationApi
 * @extends {BaseAPI}
 */
export class NotificationApi extends BaseAPI {
    /**
     * 
     * @summary 
     * @param {RegisterRequest} registerRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof NotificationApi
     */
    public register(registerRequest: RegisterRequest, options?: AxiosRequestConfig) {
        return NotificationApiFp(this.configuration).register(registerRequest, options).then((request) => request(this.axios, this.basePath));
    }
}



/**
 * TasksApi - axios parameter creator
 * @export
 */
export const TasksApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 指定した文字起こしタスクをバックアップします（ステータスをBackupにします）
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        backup: async (audioFileId: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'audioFileId' is not null or undefined
            assertParamExists('backup', 'audioFileId', audioFileId)
            const localVarPath = `/tasks/{audioFileId}/backup`
                .replace(`{${"audioFileId"}}`, encodeURIComponent(String(audioFileId)));
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 指定した文字起こしタスクをキャンセルします（ステータスをUploadedにします）
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        cancel: async (audioFileId: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'audioFileId' is not null or undefined
            assertParamExists('cancel', 'audioFileId', audioFileId)
            const localVarPath = `/tasks/{audioFileId}/cancel`
                .replace(`{${"audioFileId"}}`, encodeURIComponent(String(audioFileId)));
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 指定した文字起こしタスクのチェックアウト候補を変更します。
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {PostCheckoutPermissionRequest} postCheckoutPermissionRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        changeCheckoutPermission: async (audioFileId: number, postCheckoutPermissionRequest: PostCheckoutPermissionRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'audioFileId' is not null or undefined
            assertParamExists('changeCheckoutPermission', 'audioFileId', audioFileId)
            // verify required parameter 'postCheckoutPermissionRequest' is not null or undefined
            assertParamExists('changeCheckoutPermission', 'postCheckoutPermissionRequest', postCheckoutPermissionRequest)
            const localVarPath = `/tasks/{audioFileId}/checkout-permission`
                .replace(`{${"audioFileId"}}`, encodeURIComponent(String(audioFileId)));
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(postCheckoutPermissionRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 指定した文字起こしタスクをチェックインします（ステータスをFinishedにします）
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        checkin: async (audioFileId: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'audioFileId' is not null or undefined
            assertParamExists('checkin', 'audioFileId', audioFileId)
            const localVarPath = `/tasks/{audioFileId}/checkin`
                .replace(`{${"audioFileId"}}`, encodeURIComponent(String(audioFileId)));
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 指定した文字起こしタスクをチェックアウトします（ステータスをInprogressにします）
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        checkout: async (audioFileId: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'audioFileId' is not null or undefined
            assertParamExists('checkout', 'audioFileId', audioFileId)
            const localVarPath = `/tasks/{audioFileId}/checkout`
                .replace(`{${"audioFileId"}}`, encodeURIComponent(String(audioFileId)));
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 指定した文字起こしタスクの次のタスクに紐づく音声ファイルIDを取得します
         * @summary 
         * @param {number} endedFileId 文字起こし完了したタスクの音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getNextAudioFile: async (endedFileId: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'endedFileId' is not null or undefined
            assertParamExists('getNextAudioFile', 'endedFileId', endedFileId)
            const localVarPath = `/tasks/next`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (endedFileId !== undefined) {
                localVarQueryParameter['endedFileId'] = endedFileId;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 音声ファイル・文字起こしタスク情報をページ指定して取得します
         * @summary 
         * @param {number} [limit] タスクの取得件数（指定しない場合はデフォルト値）
         * @param {number} [offset] オフセット（何件目から取得するか　設定しない場合はデフォルト値）
         * @param {string} [status] 取得対象とするタスクのステータス。カンマ(,)区切りで複数指定可能。設定されない場合はすべてのステータスを取得対象とする。許容するステータスの値は次の通り: Uploaded / Pending / InProgress / Finished / Backup
         * @param {string} [direction] ASC/DESC
         * @param {string} [paramName] JOB_NUMBER/STATUS/ENCRYPTION/AUTHOR_ID/WORK_TYPE/FILE_NAME/FILE_LENGTH/FILE_SIZE/RECORDING_STARTED_DATE/RECORDING_FINISHED_DATE/UPLOAD_DATE/TRANSCRIPTION_STARTED_DATE/TRANSCRIPTION_FINISHED_DATE
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTasks: async (limit?: number, offset?: number, status?: string, direction?: string, paramName?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/tasks`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            if (limit !== undefined) {
                localVarQueryParameter['limit'] = limit;
            }

            if (offset !== undefined) {
                localVarQueryParameter['offset'] = offset;
            }

            if (status !== undefined) {
                localVarQueryParameter['status'] = status;
            }

            if (direction !== undefined) {
                localVarQueryParameter['direction'] = direction;
            }

            if (paramName !== undefined) {
                localVarQueryParameter['paramName'] = paramName;
            }


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 指定した文字起こしタスクを一時中断します（ステータスをPendingにします）
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        suspend: async (audioFileId: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'audioFileId' is not null or undefined
            assertParamExists('suspend', 'audioFileId', audioFileId)
            const localVarPath = `/tasks/{audioFileId}/suspend`
                .replace(`{${"audioFileId"}}`, encodeURIComponent(String(audioFileId)));
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * TasksApi - functional programming interface
 * @export
 */
export const TasksApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = TasksApiAxiosParamCreator(configuration)
    return {
        /**
         * 指定した文字起こしタスクをバックアップします（ステータスをBackupにします）
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async backup(audioFileId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.backup(audioFileId, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['TasksApi.backup']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 指定した文字起こしタスクをキャンセルします（ステータスをUploadedにします）
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async cancel(audioFileId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.cancel(audioFileId, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['TasksApi.cancel']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 指定した文字起こしタスクのチェックアウト候補を変更します。
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {PostCheckoutPermissionRequest} postCheckoutPermissionRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async changeCheckoutPermission(audioFileId: number, postCheckoutPermissionRequest: PostCheckoutPermissionRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.changeCheckoutPermission(audioFileId, postCheckoutPermissionRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['TasksApi.changeCheckoutPermission']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 指定した文字起こしタスクをチェックインします（ステータスをFinishedにします）
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async checkin(audioFileId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.checkin(audioFileId, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['TasksApi.checkin']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 指定した文字起こしタスクをチェックアウトします（ステータスをInprogressにします）
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async checkout(audioFileId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.checkout(audioFileId, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['TasksApi.checkout']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 指定した文字起こしタスクの次のタスクに紐づく音声ファイルIDを取得します
         * @summary 
         * @param {number} endedFileId 文字起こし完了したタスクの音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getNextAudioFile(endedFileId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AudioNextResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getNextAudioFile(endedFileId, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['TasksApi.getNextAudioFile']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 音声ファイル・文字起こしタスク情報をページ指定して取得します
         * @summary 
         * @param {number} [limit] タスクの取得件数（指定しない場合はデフォルト値）
         * @param {number} [offset] オフセット（何件目から取得するか　設定しない場合はデフォルト値）
         * @param {string} [status] 取得対象とするタスクのステータス。カンマ(,)区切りで複数指定可能。設定されない場合はすべてのステータスを取得対象とする。許容するステータスの値は次の通り: Uploaded / Pending / InProgress / Finished / Backup
         * @param {string} [direction] ASC/DESC
         * @param {string} [paramName] JOB_NUMBER/STATUS/ENCRYPTION/AUTHOR_ID/WORK_TYPE/FILE_NAME/FILE_LENGTH/FILE_SIZE/RECORDING_STARTED_DATE/RECORDING_FINISHED_DATE/UPLOAD_DATE/TRANSCRIPTION_STARTED_DATE/TRANSCRIPTION_FINISHED_DATE
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getTasks(limit?: number, offset?: number, status?: string, direction?: string, paramName?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TasksResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getTasks(limit, offset, status, direction, paramName, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['TasksApi.getTasks']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 指定した文字起こしタスクを一時中断します（ステータスをPendingにします）
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async suspend(audioFileId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.suspend(audioFileId, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['TasksApi.suspend']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
    }
};

/**
 * TasksApi - factory interface
 * @export
 */
export const TasksApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = TasksApiFp(configuration)
    return {
        /**
         * 指定した文字起こしタスクをバックアップします（ステータスをBackupにします）
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        backup(audioFileId: number, options?: any): AxiosPromise<object> {
            return localVarFp.backup(audioFileId, options).then((request) => request(axios, basePath));
        },
        /**
         * 指定した文字起こしタスクをキャンセルします（ステータスをUploadedにします）
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        cancel(audioFileId: number, options?: any): AxiosPromise<object> {
            return localVarFp.cancel(audioFileId, options).then((request) => request(axios, basePath));
        },
        /**
         * 指定した文字起こしタスクのチェックアウト候補を変更します。
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {PostCheckoutPermissionRequest} postCheckoutPermissionRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        changeCheckoutPermission(audioFileId: number, postCheckoutPermissionRequest: PostCheckoutPermissionRequest, options?: any): AxiosPromise<object> {
            return localVarFp.changeCheckoutPermission(audioFileId, postCheckoutPermissionRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 指定した文字起こしタスクをチェックインします（ステータスをFinishedにします）
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        checkin(audioFileId: number, options?: any): AxiosPromise<object> {
            return localVarFp.checkin(audioFileId, options).then((request) => request(axios, basePath));
        },
        /**
         * 指定した文字起こしタスクをチェックアウトします（ステータスをInprogressにします）
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        checkout(audioFileId: number, options?: any): AxiosPromise<object> {
            return localVarFp.checkout(audioFileId, options).then((request) => request(axios, basePath));
        },
        /**
         * 指定した文字起こしタスクの次のタスクに紐づく音声ファイルIDを取得します
         * @summary 
         * @param {number} endedFileId 文字起こし完了したタスクの音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getNextAudioFile(endedFileId: number, options?: any): AxiosPromise<AudioNextResponse> {
            return localVarFp.getNextAudioFile(endedFileId, options).then((request) => request(axios, basePath));
        },
        /**
         * 音声ファイル・文字起こしタスク情報をページ指定して取得します
         * @summary 
         * @param {number} [limit] タスクの取得件数（指定しない場合はデフォルト値）
         * @param {number} [offset] オフセット（何件目から取得するか　設定しない場合はデフォルト値）
         * @param {string} [status] 取得対象とするタスクのステータス。カンマ(,)区切りで複数指定可能。設定されない場合はすべてのステータスを取得対象とする。許容するステータスの値は次の通り: Uploaded / Pending / InProgress / Finished / Backup
         * @param {string} [direction] ASC/DESC
         * @param {string} [paramName] JOB_NUMBER/STATUS/ENCRYPTION/AUTHOR_ID/WORK_TYPE/FILE_NAME/FILE_LENGTH/FILE_SIZE/RECORDING_STARTED_DATE/RECORDING_FINISHED_DATE/UPLOAD_DATE/TRANSCRIPTION_STARTED_DATE/TRANSCRIPTION_FINISHED_DATE
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTasks(limit?: number, offset?: number, status?: string, direction?: string, paramName?: string, options?: any): AxiosPromise<TasksResponse> {
            return localVarFp.getTasks(limit, offset, status, direction, paramName, options).then((request) => request(axios, basePath));
        },
        /**
         * 指定した文字起こしタスクを一時中断します（ステータスをPendingにします）
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        suspend(audioFileId: number, options?: any): AxiosPromise<object> {
            return localVarFp.suspend(audioFileId, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * TasksApi - object-oriented interface
 * @export
 * @class TasksApi
 * @extends {BaseAPI}
 */
export class TasksApi extends BaseAPI {
    /**
     * 指定した文字起こしタスクをバックアップします（ステータスをBackupにします）
     * @summary 
     * @param {number} audioFileId ODMS Cloud上の音声ファイルID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TasksApi
     */
    public backup(audioFileId: number, options?: AxiosRequestConfig) {
        return TasksApiFp(this.configuration).backup(audioFileId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 指定した文字起こしタスクをキャンセルします（ステータスをUploadedにします）
     * @summary 
     * @param {number} audioFileId ODMS Cloud上の音声ファイルID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TasksApi
     */
    public cancel(audioFileId: number, options?: AxiosRequestConfig) {
        return TasksApiFp(this.configuration).cancel(audioFileId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 指定した文字起こしタスクのチェックアウト候補を変更します。
     * @summary 
     * @param {number} audioFileId ODMS Cloud上の音声ファイルID
     * @param {PostCheckoutPermissionRequest} postCheckoutPermissionRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TasksApi
     */
    public changeCheckoutPermission(audioFileId: number, postCheckoutPermissionRequest: PostCheckoutPermissionRequest, options?: AxiosRequestConfig) {
        return TasksApiFp(this.configuration).changeCheckoutPermission(audioFileId, postCheckoutPermissionRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 指定した文字起こしタスクをチェックインします（ステータスをFinishedにします）
     * @summary 
     * @param {number} audioFileId ODMS Cloud上の音声ファイルID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TasksApi
     */
    public checkin(audioFileId: number, options?: AxiosRequestConfig) {
        return TasksApiFp(this.configuration).checkin(audioFileId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 指定した文字起こしタスクをチェックアウトします（ステータスをInprogressにします）
     * @summary 
     * @param {number} audioFileId ODMS Cloud上の音声ファイルID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TasksApi
     */
    public checkout(audioFileId: number, options?: AxiosRequestConfig) {
        return TasksApiFp(this.configuration).checkout(audioFileId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 指定した文字起こしタスクの次のタスクに紐づく音声ファイルIDを取得します
     * @summary 
     * @param {number} endedFileId 文字起こし完了したタスクの音声ファイルID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TasksApi
     */
    public getNextAudioFile(endedFileId: number, options?: AxiosRequestConfig) {
        return TasksApiFp(this.configuration).getNextAudioFile(endedFileId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 音声ファイル・文字起こしタスク情報をページ指定して取得します
     * @summary 
     * @param {number} [limit] タスクの取得件数（指定しない場合はデフォルト値）
     * @param {number} [offset] オフセット（何件目から取得するか　設定しない場合はデフォルト値）
     * @param {string} [status] 取得対象とするタスクのステータス。カンマ(,)区切りで複数指定可能。設定されない場合はすべてのステータスを取得対象とする。許容するステータスの値は次の通り: Uploaded / Pending / InProgress / Finished / Backup
     * @param {string} [direction] ASC/DESC
     * @param {string} [paramName] JOB_NUMBER/STATUS/ENCRYPTION/AUTHOR_ID/WORK_TYPE/FILE_NAME/FILE_LENGTH/FILE_SIZE/RECORDING_STARTED_DATE/RECORDING_FINISHED_DATE/UPLOAD_DATE/TRANSCRIPTION_STARTED_DATE/TRANSCRIPTION_FINISHED_DATE
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TasksApi
     */
    public getTasks(limit?: number, offset?: number, status?: string, direction?: string, paramName?: string, options?: AxiosRequestConfig) {
        return TasksApiFp(this.configuration).getTasks(limit, offset, status, direction, paramName, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 指定した文字起こしタスクを一時中断します（ステータスをPendingにします）
     * @summary 
     * @param {number} audioFileId ODMS Cloud上の音声ファイルID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TasksApi
     */
    public suspend(audioFileId: number, options?: AxiosRequestConfig) {
        return TasksApiFp(this.configuration).suspend(audioFileId, options).then((request) => request(this.axios, this.basePath));
    }
}



/**
 * TemplatesApi - axios parameter creator
 * @export
 */
export const TemplatesApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * アカウント内のテンプレートファイルの一覧を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTemplates: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/templates`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * TemplatesApi - functional programming interface
 * @export
 */
export const TemplatesApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = TemplatesApiAxiosParamCreator(configuration)
    return {
        /**
         * アカウント内のテンプレートファイルの一覧を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getTemplates(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetTemplatesResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getTemplates(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['TemplatesApi.getTemplates']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
    }
};

/**
 * TemplatesApi - factory interface
 * @export
 */
export const TemplatesApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = TemplatesApiFp(configuration)
    return {
        /**
         * アカウント内のテンプレートファイルの一覧を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTemplates(options?: any): AxiosPromise<GetTemplatesResponse> {
            return localVarFp.getTemplates(options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * TemplatesApi - object-oriented interface
 * @export
 * @class TemplatesApi
 * @extends {BaseAPI}
 */
export class TemplatesApi extends BaseAPI {
    /**
     * アカウント内のテンプレートファイルの一覧を取得します
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TemplatesApi
     */
    public getTemplates(options?: AxiosRequestConfig) {
        return TemplatesApiFp(this.configuration).getTemplates(options).then((request) => request(this.axios, this.basePath));
    }
}



/**
 * TermsApi - axios parameter creator
 * @export
 */
export const TermsApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTermsInfo: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/terms`;
            // 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;


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * TermsApi - functional programming interface
 * @export
 */
export const TermsApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = TermsApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getTermsInfo(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetTermsInfoResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getTermsInfo(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['TermsApi.getTermsInfo']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
    }
};

/**
 * TermsApi - factory interface
 * @export
 */
export const TermsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = TermsApiFp(configuration)
    return {
        /**
         * 
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getTermsInfo(options?: any): AxiosPromise<GetTermsInfoResponse> {
            return localVarFp.getTermsInfo(options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * TermsApi - object-oriented interface
 * @export
 * @class TermsApi
 * @extends {BaseAPI}
 */
export class TermsApi extends BaseAPI {
    /**
     * 
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof TermsApi
     */
    public getTermsInfo(options?: AxiosRequestConfig) {
        return TermsApiFp(this.configuration).getTermsInfo(options).then((request) => request(this.axios, this.basePath));
    }
}



/**
 * UsersApi - axios parameter creator
 * @export
 */
export const UsersApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * ライセンスを割り当てます
         * @summary 
         * @param {AllocateLicenseRequest} allocateLicenseRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        allocateLicense: async (allocateLicenseRequest: AllocateLicenseRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'allocateLicenseRequest' is not null or undefined
            assertParamExists('allocateLicense', 'allocateLicenseRequest', allocateLicenseRequest)
            const localVarPath = `/users/license/allocate`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(allocateLicenseRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {ConfirmRequest} confirmRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        confirmUser: async (confirmRequest: ConfirmRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'confirmRequest' is not null or undefined
            assertParamExists('confirmUser', 'confirmRequest', confirmRequest)
            const localVarPath = `/users/confirm`;
            // 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;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(confirmRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {ConfirmRequest} confirmRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        confirmUserAndInitPassword: async (confirmRequest: ConfirmRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'confirmRequest' is not null or undefined
            assertParamExists('confirmUserAndInitPassword', 'confirmRequest', confirmRequest)
            const localVarPath = `/users/confirm/initpassword`;
            // 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;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(confirmRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * ライセンス割り当てを解除します
         * @summary 
         * @param {DeallocateLicenseRequest} deallocateLicenseRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deallocateLicense: async (deallocateLicenseRequest: DeallocateLicenseRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'deallocateLicenseRequest' is not null or undefined
            assertParamExists('deallocateLicense', 'deallocateLicenseRequest', deallocateLicenseRequest)
            const localVarPath = `/users/license/deallocate`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(deallocateLicenseRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * ログインしているユーザーの情報を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getMyUser: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/users/me`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * ログインしているユーザーに関連する各種情報を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRelations: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/users/relations`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * ログインしているユーザーのタスクソート条件を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSortCriteria: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/users/sort-criteria`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getUsers: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary 
         * @param {SignupRequest} signupRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        signup: async (signupRequest: SignupRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'signupRequest' is not null or undefined
            assertParamExists('signup', 'signupRequest', signupRequest)
            const localVarPath = `/users/signup`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(signupRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 利用規約同意バージョンを更新
         * @summary 
         * @param {UpdateAcceptedVersionRequest} updateAcceptedVersionRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateAcceptedVersion: async (updateAcceptedVersionRequest: UpdateAcceptedVersionRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'updateAcceptedVersionRequest' is not null or undefined
            assertParamExists('updateAcceptedVersion', 'updateAcceptedVersionRequest', updateAcceptedVersionRequest)
            const localVarPath = `/users/accepted-version`;
            // 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;


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(updateAcceptedVersionRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * ログインしているユーザーのタスクソート条件を更新します
         * @summary 
         * @param {PostSortCriteriaRequest} postSortCriteriaRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateSortCriteria: async (postSortCriteriaRequest: PostSortCriteriaRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'postSortCriteriaRequest' is not null or undefined
            assertParamExists('updateSortCriteria', 'postSortCriteriaRequest', postSortCriteriaRequest)
            const localVarPath = `/users/sort-criteria`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(postSortCriteriaRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * ユーザーの情報を更新します
         * @summary 
         * @param {PostUpdateUserRequest} postUpdateUserRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateUser: async (postUpdateUserRequest: PostUpdateUserRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'postUpdateUserRequest' is not null or undefined
            assertParamExists('updateUser', 'postUpdateUserRequest', postUpdateUserRequest)
            const localVarPath = `/users/update`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(postUpdateUserRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * UsersApi - functional programming interface
 * @export
 */
export const UsersApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = UsersApiAxiosParamCreator(configuration)
    return {
        /**
         * ライセンスを割り当てます
         * @summary 
         * @param {AllocateLicenseRequest} allocateLicenseRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async allocateLicense(allocateLicenseRequest: AllocateLicenseRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.allocateLicense(allocateLicenseRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['UsersApi.allocateLicense']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {ConfirmRequest} confirmRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async confirmUser(confirmRequest: ConfirmRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.confirmUser(confirmRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['UsersApi.confirmUser']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {ConfirmRequest} confirmRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async confirmUserAndInitPassword(confirmRequest: ConfirmRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.confirmUserAndInitPassword(confirmRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['UsersApi.confirmUserAndInitPassword']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * ライセンス割り当てを解除します
         * @summary 
         * @param {DeallocateLicenseRequest} deallocateLicenseRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deallocateLicense(deallocateLicenseRequest: DeallocateLicenseRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deallocateLicense(deallocateLicenseRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['UsersApi.deallocateLicense']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * ログインしているユーザーの情報を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getMyUser(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetMyUserResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getMyUser(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['UsersApi.getMyUser']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * ログインしているユーザーに関連する各種情報を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getRelations(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetRelationsResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getRelations(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['UsersApi.getRelations']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * ログインしているユーザーのタスクソート条件を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getSortCriteria(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetSortCriteriaResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getSortCriteria(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['UsersApi.getSortCriteria']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getUsers(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetUsersResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getUsers(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['UsersApi.getUsers']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 
         * @summary 
         * @param {SignupRequest} signupRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async signup(signupRequest: SignupRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.signup(signupRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['UsersApi.signup']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * 利用規約同意バージョンを更新
         * @summary 
         * @param {UpdateAcceptedVersionRequest} updateAcceptedVersionRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateAcceptedVersion(updateAcceptedVersionRequest: UpdateAcceptedVersionRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateAcceptedVersion(updateAcceptedVersionRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['UsersApi.updateAcceptedVersion']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * ログインしているユーザーのタスクソート条件を更新します
         * @summary 
         * @param {PostSortCriteriaRequest} postSortCriteriaRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateSortCriteria(postSortCriteriaRequest: PostSortCriteriaRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateSortCriteria(postSortCriteriaRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['UsersApi.updateSortCriteria']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * ユーザーの情報を更新します
         * @summary 
         * @param {PostUpdateUserRequest} postUpdateUserRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateUser(postUpdateUserRequest: PostUpdateUserRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateUser(postUpdateUserRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['UsersApi.updateUser']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
    }
};

/**
 * UsersApi - factory interface
 * @export
 */
export const UsersApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = UsersApiFp(configuration)
    return {
        /**
         * ライセンスを割り当てます
         * @summary 
         * @param {AllocateLicenseRequest} allocateLicenseRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        allocateLicense(allocateLicenseRequest: AllocateLicenseRequest, options?: any): AxiosPromise<object> {
            return localVarFp.allocateLicense(allocateLicenseRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {ConfirmRequest} confirmRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        confirmUser(confirmRequest: ConfirmRequest, options?: any): AxiosPromise<object> {
            return localVarFp.confirmUser(confirmRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {ConfirmRequest} confirmRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        confirmUserAndInitPassword(confirmRequest: ConfirmRequest, options?: any): AxiosPromise<object> {
            return localVarFp.confirmUserAndInitPassword(confirmRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * ライセンス割り当てを解除します
         * @summary 
         * @param {DeallocateLicenseRequest} deallocateLicenseRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deallocateLicense(deallocateLicenseRequest: DeallocateLicenseRequest, options?: any): AxiosPromise<object> {
            return localVarFp.deallocateLicense(deallocateLicenseRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * ログインしているユーザーの情報を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getMyUser(options?: any): AxiosPromise<GetMyUserResponse> {
            return localVarFp.getMyUser(options).then((request) => request(axios, basePath));
        },
        /**
         * ログインしているユーザーに関連する各種情報を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getRelations(options?: any): AxiosPromise<GetRelationsResponse> {
            return localVarFp.getRelations(options).then((request) => request(axios, basePath));
        },
        /**
         * ログインしているユーザーのタスクソート条件を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getSortCriteria(options?: any): AxiosPromise<GetSortCriteriaResponse> {
            return localVarFp.getSortCriteria(options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getUsers(options?: any): AxiosPromise<GetUsersResponse> {
            return localVarFp.getUsers(options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary 
         * @param {SignupRequest} signupRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        signup(signupRequest: SignupRequest, options?: any): AxiosPromise<object> {
            return localVarFp.signup(signupRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * 利用規約同意バージョンを更新
         * @summary 
         * @param {UpdateAcceptedVersionRequest} updateAcceptedVersionRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateAcceptedVersion(updateAcceptedVersionRequest: UpdateAcceptedVersionRequest, options?: any): AxiosPromise<object> {
            return localVarFp.updateAcceptedVersion(updateAcceptedVersionRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * ログインしているユーザーのタスクソート条件を更新します
         * @summary 
         * @param {PostSortCriteriaRequest} postSortCriteriaRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateSortCriteria(postSortCriteriaRequest: PostSortCriteriaRequest, options?: any): AxiosPromise<object> {
            return localVarFp.updateSortCriteria(postSortCriteriaRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * ユーザーの情報を更新します
         * @summary 
         * @param {PostUpdateUserRequest} postUpdateUserRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateUser(postUpdateUserRequest: PostUpdateUserRequest, options?: any): AxiosPromise<object> {
            return localVarFp.updateUser(postUpdateUserRequest, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * UsersApi - object-oriented interface
 * @export
 * @class UsersApi
 * @extends {BaseAPI}
 */
export class UsersApi extends BaseAPI {
    /**
     * ライセンスを割り当てます
     * @summary 
     * @param {AllocateLicenseRequest} allocateLicenseRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    public allocateLicense(allocateLicenseRequest: AllocateLicenseRequest, options?: AxiosRequestConfig) {
        return UsersApiFp(this.configuration).allocateLicense(allocateLicenseRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {ConfirmRequest} confirmRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    public confirmUser(confirmRequest: ConfirmRequest, options?: AxiosRequestConfig) {
        return UsersApiFp(this.configuration).confirmUser(confirmRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {ConfirmRequest} confirmRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    public confirmUserAndInitPassword(confirmRequest: ConfirmRequest, options?: AxiosRequestConfig) {
        return UsersApiFp(this.configuration).confirmUserAndInitPassword(confirmRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * ライセンス割り当てを解除します
     * @summary 
     * @param {DeallocateLicenseRequest} deallocateLicenseRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    public deallocateLicense(deallocateLicenseRequest: DeallocateLicenseRequest, options?: AxiosRequestConfig) {
        return UsersApiFp(this.configuration).deallocateLicense(deallocateLicenseRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * ログインしているユーザーの情報を取得します
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    public getMyUser(options?: AxiosRequestConfig) {
        return UsersApiFp(this.configuration).getMyUser(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * ログインしているユーザーに関連する各種情報を取得します
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    public getRelations(options?: AxiosRequestConfig) {
        return UsersApiFp(this.configuration).getRelations(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * ログインしているユーザーのタスクソート条件を取得します
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    public getSortCriteria(options?: AxiosRequestConfig) {
        return UsersApiFp(this.configuration).getSortCriteria(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    public getUsers(options?: AxiosRequestConfig) {
        return UsersApiFp(this.configuration).getUsers(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary 
     * @param {SignupRequest} signupRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    public signup(signupRequest: SignupRequest, options?: AxiosRequestConfig) {
        return UsersApiFp(this.configuration).signup(signupRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 利用規約同意バージョンを更新
     * @summary 
     * @param {UpdateAcceptedVersionRequest} updateAcceptedVersionRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    public updateAcceptedVersion(updateAcceptedVersionRequest: UpdateAcceptedVersionRequest, options?: AxiosRequestConfig) {
        return UsersApiFp(this.configuration).updateAcceptedVersion(updateAcceptedVersionRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * ログインしているユーザーのタスクソート条件を更新します
     * @summary 
     * @param {PostSortCriteriaRequest} postSortCriteriaRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    public updateSortCriteria(postSortCriteriaRequest: PostSortCriteriaRequest, options?: AxiosRequestConfig) {
        return UsersApiFp(this.configuration).updateSortCriteria(postSortCriteriaRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * ユーザーの情報を更新します
     * @summary 
     * @param {PostUpdateUserRequest} postUpdateUserRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof UsersApi
     */
    public updateUser(postUpdateUserRequest: PostUpdateUserRequest, options?: AxiosRequestConfig) {
        return UsersApiFp(this.configuration).updateUser(postUpdateUserRequest, options).then((request) => request(this.axios, this.basePath));
    }
}



/**
 * WorkflowsApi - axios parameter creator
 * @export
 */
export const WorkflowsApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * アカウント内にワークフローを新規作成します
         * @summary 
         * @param {CreateWorkflowsRequest} createWorkflowsRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createWorkflows: async (createWorkflowsRequest: CreateWorkflowsRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'createWorkflowsRequest' is not null or undefined
            assertParamExists('createWorkflows', 'createWorkflowsRequest', createWorkflowsRequest)
            const localVarPath = `/workflows`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(createWorkflowsRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * アカウント内のワークフローを削除します
         * @summary 
         * @param {number} workflowId ワークフローの内部ID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteWorkflow: async (workflowId: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'workflowId' is not null or undefined
            assertParamExists('deleteWorkflow', 'workflowId', workflowId)
            const localVarPath = `/workflows/{workflowId}/delete`
                .replace(`{${"workflowId"}}`, encodeURIComponent(String(workflowId)));
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * アカウント内のワークフローの一覧を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getWorkflows: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            const localVarPath = `/workflows`;
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * アカウント内のワークフローを編集します
         * @summary 
         * @param {number} workflowId ワークフローの内部ID
         * @param {UpdateWorkflowRequest} updateWorkflowRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateWorkflow: async (workflowId: number, updateWorkflowRequest: UpdateWorkflowRequest, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'workflowId' is not null or undefined
            assertParamExists('updateWorkflow', 'workflowId', workflowId)
            // verify required parameter 'updateWorkflowRequest' is not null or undefined
            assertParamExists('updateWorkflow', 'updateWorkflowRequest', updateWorkflowRequest)
            const localVarPath = `/workflows/{workflowId}`
                .replace(`{${"workflowId"}}`, encodeURIComponent(String(workflowId)));
            // 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
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(updateWorkflowRequest, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * WorkflowsApi - functional programming interface
 * @export
 */
export const WorkflowsApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = WorkflowsApiAxiosParamCreator(configuration)
    return {
        /**
         * アカウント内にワークフローを新規作成します
         * @summary 
         * @param {CreateWorkflowsRequest} createWorkflowsRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createWorkflows(createWorkflowsRequest: CreateWorkflowsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createWorkflows(createWorkflowsRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['WorkflowsApi.createWorkflows']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * アカウント内のワークフローを削除します
         * @summary 
         * @param {number} workflowId ワークフローの内部ID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteWorkflow(workflowId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteWorkflow(workflowId, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['WorkflowsApi.deleteWorkflow']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * アカウント内のワークフローの一覧を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getWorkflows(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetWorkflowsResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getWorkflows(options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['WorkflowsApi.getWorkflows']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
        /**
         * アカウント内のワークフローを編集します
         * @summary 
         * @param {number} workflowId ワークフローの内部ID
         * @param {UpdateWorkflowRequest} updateWorkflowRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateWorkflow(workflowId: number, updateWorkflowRequest: UpdateWorkflowRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateWorkflow(workflowId, updateWorkflowRequest, options);
            const index = configuration?.serverIndex ?? 0;
            const operationBasePath = operationServerMap['WorkflowsApi.updateWorkflow']?.[index]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath);
        },
    }
};

/**
 * WorkflowsApi - factory interface
 * @export
 */
export const WorkflowsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = WorkflowsApiFp(configuration)
    return {
        /**
         * アカウント内にワークフローを新規作成します
         * @summary 
         * @param {CreateWorkflowsRequest} createWorkflowsRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createWorkflows(createWorkflowsRequest: CreateWorkflowsRequest, options?: any): AxiosPromise<object> {
            return localVarFp.createWorkflows(createWorkflowsRequest, options).then((request) => request(axios, basePath));
        },
        /**
         * アカウント内のワークフローを削除します
         * @summary 
         * @param {number} workflowId ワークフローの内部ID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteWorkflow(workflowId: number, options?: any): AxiosPromise<object> {
            return localVarFp.deleteWorkflow(workflowId, options).then((request) => request(axios, basePath));
        },
        /**
         * アカウント内のワークフローの一覧を取得します
         * @summary 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getWorkflows(options?: any): AxiosPromise<GetWorkflowsResponse> {
            return localVarFp.getWorkflows(options).then((request) => request(axios, basePath));
        },
        /**
         * アカウント内のワークフローを編集します
         * @summary 
         * @param {number} workflowId ワークフローの内部ID
         * @param {UpdateWorkflowRequest} updateWorkflowRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateWorkflow(workflowId: number, updateWorkflowRequest: UpdateWorkflowRequest, options?: any): AxiosPromise<object> {
            return localVarFp.updateWorkflow(workflowId, updateWorkflowRequest, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * WorkflowsApi - object-oriented interface
 * @export
 * @class WorkflowsApi
 * @extends {BaseAPI}
 */
export class WorkflowsApi extends BaseAPI {
    /**
     * アカウント内にワークフローを新規作成します
     * @summary 
     * @param {CreateWorkflowsRequest} createWorkflowsRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowsApi
     */
    public createWorkflows(createWorkflowsRequest: CreateWorkflowsRequest, options?: AxiosRequestConfig) {
        return WorkflowsApiFp(this.configuration).createWorkflows(createWorkflowsRequest, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * アカウント内のワークフローを削除します
     * @summary 
     * @param {number} workflowId ワークフローの内部ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowsApi
     */
    public deleteWorkflow(workflowId: number, options?: AxiosRequestConfig) {
        return WorkflowsApiFp(this.configuration).deleteWorkflow(workflowId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * アカウント内のワークフローの一覧を取得します
     * @summary 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowsApi
     */
    public getWorkflows(options?: AxiosRequestConfig) {
        return WorkflowsApiFp(this.configuration).getWorkflows(options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * アカウント内のワークフローを編集します
     * @summary 
     * @param {number} workflowId ワークフローの内部ID
     * @param {UpdateWorkflowRequest} updateWorkflowRequest 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof WorkflowsApi
     */
    public updateWorkflow(workflowId: number, updateWorkflowRequest: UpdateWorkflowRequest, options?: AxiosRequestConfig) {
        return WorkflowsApiFp(this.configuration).updateWorkflow(workflowId, updateWorkflowRequest, options).then((request) => request(this.axios, this.basePath));
    }
}



