/* 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 } 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;
}
/**
 * 
 * @export
 * @interface ActivateCardLicensesRequest
 */
export interface ActivateCardLicensesRequest {
    /**
     * 
     * @type {string}
     * @memberof ActivateCardLicensesRequest
     */
    'cardLicenseKey': string;
}
/**
 * 
 * @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 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 | null;
    /**
     * 
     * @type {string}
     * @memberof CreateAccountRequest
     */
    'adminName': string;
    /**
     * 
     * @type {string}
     * @memberof CreateAccountRequest
     */
    'adminMail': string;
    /**
     * 
     * @type {string}
     * @memberof CreateAccountRequest
     */
    'adminPassword': string;
    /**
     * 同意済み利用規約のバージョン
     * @type {string}
     * @memberof CreateAccountRequest
     */
    'acceptedTermsVersion': 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 ErrorResponse
 */
export interface ErrorResponse {
    /**
     * 
     * @type {string}
     * @memberof ErrorResponse
     */
    'message': string;
    /**
     * 
     * @type {string}
     * @memberof ErrorResponse
     */
    'code': string;
}
/**
 * 
 * @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 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 GetOrderHistoriesResponce
 */
export interface GetOrderHistoriesResponce {
    /**
     * 合計件数
     * @type {number}
     * @memberof GetOrderHistoriesResponce
     */
    'total': number;
    /**
     * 
     * @type {Array<LicenseOrder>}
     * @memberof GetOrderHistoriesResponce
     */
    '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 GetRelationsResponse
 */
export interface GetRelationsResponse {
    /**
     * ログインしたユーザーのAuthorID（Authorでない場合は空文字）
     * @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 | null;
    /**
     * アカウントがデフォルトで利用するWorkTypeID（アカウントに紐づくWorkTypeIDから一つ指定）
     * @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 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 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 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 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 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 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 {number}
     * @memberof SignupRequest
     */
    'typistGroupId'?: number;
    /**
     * 
     * @type {string}
     * @memberof SignupRequest
     */
    'email': string;
    /**
     * 
     * @type {boolean}
     * @memberof SignupRequest
     */
    'autoRenew': boolean;
    /**
     * 
     * @type {boolean}
     * @memberof SignupRequest
     */
    'licenseAlert': boolean;
    /**
     * 
     * @type {boolean}
     * @memberof SignupRequest
     */
    'notification': 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 {TaskTypist}
     * @memberof Task
     */
    'typist'?: TaskTypist;
    /**
     * 文字起こしに着手できる（チェックアウト可能な）、タスクにアサインされているグループ/個人の一覧
     * @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 TaskTypist
 */
export interface TaskTypist {
    /**
     * TypistのユーザーID
     * @type {number}
     * @memberof TaskTypist
     */
    'id': number;
    /**
     * Typistのユーザー名
     * @type {string}
     * @memberof TaskTypist
     */
    'name': 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 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 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
     */
    'licenseAlert': 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;
}

/**
 * AccountsApi - axios parameter creator
 * @export
 */
export const AccountsApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @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 {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 {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 {*} [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,
            };
        },
    }
};

/**
 * AccountsApi - functional programming interface
 * @export
 */
export const AccountsApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = AccountsApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 指定したアカウントのライセンス集計情報を取得します
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * ログインしているユーザーのアカウント情報を取得します
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @summary 
         * @param {GetOrderHistoriesRequest} getOrderHistoriesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async getOrderHistories(getOrderHistoriesRequest: GetOrderHistoriesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetOrderHistoriesResponce>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.getOrderHistories(getOrderHistoriesRequest, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * ログインしているユーザーのアカウント配下のタイピストグループ一覧を取得します
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * ログインしているユーザーのアカウント配下のタイピスト一覧を取得します
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * AccountsApi - factory interface
 * @export
 */
export const AccountsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = AccountsApiFp(configuration)
    return {
        /**
         * 
         * @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 {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 {GetOrderHistoriesRequest} getOrderHistoriesRequest 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        getOrderHistories(getOrderHistoriesRequest: GetOrderHistoriesRequest, options?: any): AxiosPromise<GetOrderHistoriesResponce> {
            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 {*} [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));
        },
    };
};

/**
 * AccountsApi - object-oriented interface
 * @export
 * @class AccountsApi
 * @extends {BaseAPI}
 */
export class AccountsApi extends BaseAPI {
    /**
     * 
     * @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 {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 {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 {*} [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));
    }
}


/**
 * 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,
            };
        },
        /**
         * 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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * 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));
        },
        /**
         * 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));
    }

    /**
     * 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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * 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,
            };
        },
    }
};

/**
 * 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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 指定した音声ファイルに対応したテンプレートファイルの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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * アップロードが完了した音声ファイルの情報を登録し、文字起こしタスクを生成します
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * ログイン中ユーザー用の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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * 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));
        },
    };
};

/**
 * 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));
    }
}


/**
 * 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 {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 {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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * 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 {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 {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 {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 {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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * 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}
         */
        sendBack: async (audioFileId: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'audioFileId' is not null or undefined
            assertParamExists('sendBack', 'audioFileId', audioFileId)
            const localVarPath = `/tasks/{audioFileId}/send-back`
                .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,
            };
        },
        /**
         * 指定した文字起こしタスクを一時中断します（ステータスを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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 指定した文字起こしタスクをキャンセルします（ステータスを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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 指定した文字起こしタスクのチェックアウト候補を変更します。
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 指定した文字起こしタスクをチェックインします（ステータスを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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 指定した文字起こしタスクをチェックアウトします（ステータスを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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 指定した文字起こしタスクの次のタスクに紐づく音声ファイル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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 音声ファイル・文字起こしタスク情報をページ指定して取得します
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 指定した文字起こしタスクを差し戻します（ステータスをPendingにします）
         * @summary 
         * @param {number} audioFileId ODMS Cloud上の音声ファイルID
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async sendBack(audioFileId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.sendBack(audioFileId, options);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 指定した文字起こしタスクを一時中断します（ステータスを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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * 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}
         */
        sendBack(audioFileId: number, options?: any): AxiosPromise<object> {
            return localVarFp.sendBack(audioFileId, 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 sendBack(audioFileId: number, options?: AxiosRequestConfig) {
        return TasksApiFp(this.configuration).sendBack(audioFileId, 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));
    }
}


/**
 * UsersApi - axios parameter creator
 * @export
 */
export const UsersApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @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 {*} [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 {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,
            };
        },
    }
};

/**
 * UsersApi - functional programming interface
 * @export
 */
export const UsersApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = UsersApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * ログインしているユーザーに関連する各種情報を取得します
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * ログインしているユーザーのタスクソート条件を取得します
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * 
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
        /**
         * ログインしているユーザーのタスクソート条件を更新します
         * @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);
            return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
        },
    }
};

/**
 * UsersApi - factory interface
 * @export
 */
export const UsersApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = UsersApiFp(configuration)
    return {
        /**
         * 
         * @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 {*} [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 {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));
        },
    };
};

/**
 * UsersApi - object-oriented interface
 * @export
 * @class UsersApi
 * @extends {BaseAPI}
 */
export class UsersApi extends BaseAPI {
    /**
     * 
     * @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 {*} [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 {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));
    }
}


