import { CrowdinApi, DownloadLink, PaginationOptions, PatchRequest, ResponseList, ResponseObject, Status } from '../core'; /** * Reports help to estimate costs, calculate translation costs, and identify the top members. * * Use API to generate Cost Estimate, Translation Cost, and Top Members reports. * You can then export reports in .xlsx or .csv file formats. * Report generation is an asynchronous operation and shall be completed with a sequence of API methods. */ export declare class Reports extends CrowdinApi { /** * @requiredScope project.report:read * @param options optional parameters for the request * @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.reports.archives.getMany */ listOrganizationReportArchives(options?: ReportsModel.ListReportArchiveParams): Promise>; /** * @requiredScope project.report:read * @param archiveId archive identifier * @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.reports.archives.get */ getOrganizationReportArchive(archiveId: number): Promise>; /** * @requiredScope project.report:write * @param archiveId archive identifier * @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.reports.archives.delete */ deleteOrganizationReportArchive(archiveId: number): Promise; /** * @requiredScope project.report:read * @param archiveId archive identifier * @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.reports.archives.exports.post */ exportOrganizationReportArchive(archiveId: number, request?: { format?: ReportsModel.Format; }): Promise>>; /** * @requiredScope project.report:read * @param archiveId archive identifier * @param exportId export identifier * @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.reports.archives.exports.get */ checkOrganizationReportArchiveStatus(archiveId: number, exportId: string): Promise>>; /** * @requiredScope project.report:read * @param archiveId archive identifier * @param exportId export identifier * @see https://developer.crowdin.com/enterprise/api/v2/#operation/api.reports.archives.exports.download.get */ downloadOrganizationReportArchive(archiveId: number, exportId: string): Promise>; /** * @requiredScope project.report:read * @param userId user identifier * @param options optional parameters for the request * @see https://developer.crowdin.com/api/v2/#operation/api.reports.archives.getMany */ listUserReportArchives(userId: number, options?: ReportsModel.ListReportArchiveParams): Promise>; /** * @requiredScope project.report:read * @param userId user identifier * @param archiveId archive identifier * @see https://developer.crowdin.com/api/v2/#operation/api.users.reports.archives.get */ getUserReportArchive(userId: number, archiveId: number): Promise>; /** * @requiredScope project.report:write * @param userId user identifier * @param archiveId archive identifier * @see https://developer.crowdin.com/api/v2/#operation/api.users.reports.archives.delete */ deleteUserReportArchive(userId: number, archiveId: number): Promise; /** * @requiredScope project.report:read * @param userId user identifier * @param archiveId archive identifier * @see https://developer.crowdin.com/api/v2/#operation/api.reports.archives.exports.post */ exportUserReportArchive(userId: number, archiveId: number, request?: { format?: ReportsModel.Format; }): Promise>>; /** * @requiredScope project.report:read * @param userId user identifier * @param archiveId archive identifier * @param exportId export identifier * @see https://developer.crowdin.com/api/v2/#operation/api.users.reports.archives.exports.get */ checkUserReportArchiveStatus(userId: number, archiveId: number, exportId: string): Promise>>; /** * @requiredScope project.report:read * @param userId user identifier * @param archiveId archive identifier * @param exportId export identifier * @see https://developer.crowdin.com/api/v2/#operation/api.users.reports.archives.exports.download.get */ downloadUserReportArchive(userId: number, archiveId: number, exportId: string): Promise>; /** * @requiredScope group:read * @param groupId group identifier * @param request request body * @see https://support.crowdin.com/enterprise/api/#operation/api.groups.reports.post */ generateGroupReport(groupId: number, request: ReportsModel.GenerateGroupReportRequest): Promise>>>; /** * @requiredScope group:read * @param groupId group identifier * @param reportId report identifier * @see https://support.crowdin.com/enterprise/api/#operation/api.groups.reports.get */ checkGroupReportStatus(groupId: number, reportId: string): Promise>>>; /** * @requiredScope group:read * @param groupId group identifier * @param reportId report identifier * @see https://support.crowdin.com/enterprise/api/#operation/api.groups.reports.download.download */ downloadGroupReport(groupId: number, reportId: string): Promise>; /** * @requiredScope project.report:read * @param options optional parameters for the request * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/Reports/operation/api.reports.settings-templates.getMany */ listOrganizationReportSettingsTemplates(options?: ReportsModel.ListOrganizationReportSettingsParams): Promise>; /** * @requiredScope project.report:write * @param request request body * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/Reports/operation/api.reports.settings-templates.post */ addOrganizationReportSettingsTemplate(request: ReportsModel.AddOrganizationReportSettingsRequest): Promise>; /** * @requiredScope project.report:read * @param reportSettingsTemplateId report settings template identifier * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/Reports/operation/api.reports.settings-templates.get */ getOrganizationReportSettingsTemplate(reportSettingsTemplateId: number): Promise>; /** * @requiredScope project.report:write * @param reportSettingsTemplateId report settings template identifier * @param request request body * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/Reports/operation/api.reports.settings-templates.patch */ editOrganizationReportSettingsTemplate(reportSettingsTemplateId: number, request: PatchRequest[]): Promise>; /** * @requiredScope project.report:write * @param reportSettingsTemplateId report settings template identifier * @see https://support.crowdin.com/developer/enterprise/api/v2/#tag/Reports/operation/api.reports.settings-templates.delete */ deleteOrganizationReportSettingsTemplate(reportSettingsTemplateId: number): Promise; /** * @requiredScope group:read * @param request request body * @see https://support.crowdin.com/enterprise/api/#operation/api.reports.post */ generateOrganizationReport(request: ReportsModel.GenerateOrganizationReportRequest): Promise>>>; /** * @requiredScope group:read * @param reportId report identifier * @see https://support.crowdin.com/enterprise/api/#operation/api.reports.get */ checkOrganizationReportStatus(reportId: string): Promise>>>; /** * @requiredScope group:read * @param reportId report identifier * @see https://support.crowdin.com/enterprise/api/#operation/api.reports.download.download */ downloadOrganizationReport(reportId: string): Promise>; /** * @requiredScope project.report:read * @param projectId project identifier * @param request request body * @see https://developer.crowdin.com/api/v2/#operation/api.projects.reports.post */ generateReport(projectId: number, request: ReportsModel.GenerateReportRequest): Promise>>>; /** * @requiredScope project.report:read * @param projectId project identifier * @param reportId report identifier * @see https://developer.crowdin.com/api/v2/#operation/api.projects.reports.get */ checkReportStatus(projectId: number, reportId: string): Promise>>>; /** * @requiredScope project.report:read * @param projectId project identifier * @param reportId report identifier * @see https://developer.crowdin.com/api/v2/#operation/api.projects.reports.download.download */ downloadReport(projectId: number, reportId: string): Promise>; /** * @requiredScope project.report:read * @param projectId project identifier * @param options optional parameters for the request * @see https://developer.crowdin.com/api/v2/#operation/api.projects.reports.settings-templates.getMany */ listReportSettingsTemplates(projectId: number, options?: PaginationOptions): Promise>; /** * @requiredScope project.report:write * @param projectId project identifier * @param request request body * @see https://developer.crowdin.com/api/v2/#operation/api.projects.reports.settings-templates.post */ addReportSettingsTemplate(projectId: number, request: ReportsModel.AddReportSettingsRequest): Promise>; /** * @requiredScope project.report:read * @param projectId project identifier * @param reportSettingsTemplateId report settings template identifier * @see https://developer.crowdin.com/api/v2/#operation/api.projects.reports.settings-templates.get */ getReportSettingsTemplate(projectId: number, reportSettingsTemplateId: number): Promise>; /** * @requiredScope project.report:write * @param projectId project identifier * @param reportSettingsTemplateId report settings template identifier * @param request request body * @see https://developer.crowdin.com/api/v2/#operation/api.projects.reports.settings-templates.patch */ editReportSettingsTemplate(projectId: number, reportSettingsTemplateId: number, request: PatchRequest[]): Promise>; /** * @requiredScope project.report:write * @param projectId project identifier * @param reportSettingsTemplateId report settings template identifier * @see https://developer.crowdin.com/api/v2/#operation/api.projects.reports.settings-templates.delete */ deleteReportSettingsTemplate(projectId: number, reportSettingsTemplateId: number): Promise; /** * @requiredScope user:read * @param userId user identifier * @param options optional parameters for the request * @see https://support.crowdin.com/developer/api/v2/#tag/Reports/operation/api.users.reports.settings-templates.getMany */ listUserReportSettingsTemplates(userId: number, options?: PaginationOptions): Promise>; /** * @requiredScope user:write * @param userId user identifier * @param request request body * @see https://support.crowdin.com/developer/api/v2/#tag/Reports/operation/api.users.reports.settings-templates.post */ addUserReportSettingsTemplate(userId: number, request: ReportsModel.AddUserReportSettingsRequest): Promise>; /** * @requiredScope user:read * @param userId user identifier * @param reportSettingsTemplateId report settings template identifier * @see https://support.crowdin.com/developer/api/v2/#tag/Reports/operation/api.users.reports.settings-templates.get */ getUserReportSettingsTemplate(userId: number, reportSettingsTemplateId: number): Promise>; /** * @requiredScope user:write * @param userId user identifier * @param reportSettingsTemplateId report settings template identifier * @param request request body * @see https://support.crowdin.com/developer/api/v2/#tag/Reports/operation/api.users.reports.settings-templates.patch */ editUserReportSettingsTemplate(userId: number, reportSettingsTemplateId: number, request: PatchRequest[]): Promise>; /** * @requiredScope user:write * @param userId user identifier * @param reportSettingsTemplateId report settings template identifier * @see https://support.crowdin.com/developer/api/v2/#tag/Reports/operation/api.users.reports.settings-templates.delete */ deleteUserReportSettingsTemplate(userId: number, reportSettingsTemplateId: number): Promise; } export declare namespace ReportsModel { interface ReportArchive { id: number; scopeType: string; scopeId: number; userId: number; name: string; webUrl: string; scheme: any; status: string; progress: number; createdAt: string; } interface ListReportArchiveParams extends PaginationOptions { scopeType?: string; scopeId?: number; userId?: number; taskId?: number; name?: ReportArchiveName; dateFrom?: string; dateTo?: string; } type ReportArchiveName = 'costs-estimation-pe' | 'translation-costs-pe' | 'group-translation-costs-pe' | 'pre-translate-accuracy' | 'translator-accuracy'; interface ReportArchiveStatusAttribute { format: Format; reportName: string; schema: any; } type GroupReportSchema = GroupTranslationCostsPostEditingSchema | GroupTranslationCostsPerEditingByTaskSchema | GroupTopMembersSchema | GroupTaskUsageSchema | GroupQaCheckIssuesSchema | GroupTranslationActivitySchema | GroupSourceContentUpdatesSchema | GroupTimeSpentSchema | GroupPreTranslateAccuracySchema | GroupPreTranslateAccuracySchemaByTask | GroupTranslatorAccuracySchema | GroupSavingActivitySchema; type OrganizationReportSchema = GroupTranslationCostsPostEditingSchema | GroupTranslationCostsPerEditingByTaskSchema | GroupTopMembersSchema | GroupTaskUsageSchema | GroupQaCheckIssuesSchema | GroupTranslationActivitySchema | GroupSourceContentUpdatesSchema | GroupTimeSpentSchema | GroupPreTranslateAccuracySchema | GroupPreTranslateAccuracySchemaByTask | GroupTranslatorAccuracySchema | GroupSavingActivitySchema; interface GenerateGroupReportRequest { name: string; schema: GroupReportSchema; } interface GenerateOrganizationReportRequest { name: string; schema: OrganizationReportSchema; } interface GroupTranslationCostsPostEditingSchema { projectIds?: number[]; unit?: Unit; currency?: Currency; format?: Format; baseRates: PostEditingBaseRate; individualRates: PostEditingIndividualRate[]; netRateSchemes: NetRateSchemas; useCategoryBasedProofreadRates?: boolean; useTmEditDistance?: boolean; /** * @deprecated */ excludeApprovalsForEditedTranslations?: boolean; /** * @deprecated */ preTranslatedStringsCategorizationAdjustment?: boolean; groupBy?: GroupBy | 'project'; dateFrom?: string; dateTo?: string; userIds?: number[]; skipArchiving?: boolean; } interface GroupTranslationCostsPerEditingByTaskSchema { unit?: Unit; currency?: Currency; format?: Format; baseRates: PostEditingBaseRate; individualRates: PostEditingIndividualRate[]; netRateSchemes: NetRateSchemas; /** * @deprecated use taskIds instead */ taskId?: number; taskIds?: number[]; useCategoryBasedProofreadRates?: boolean; useTmEditDistance?: boolean; /** * @deprecated */ excludeApprovalsForEditedTranslations?: boolean; /** * @deprecated */ preTranslatedStringsCategorizationAdjustment?: boolean; skipArchiving?: boolean; } interface CostsEstimationSchema { projectIds?: number[]; unit?: Unit; currency?: Currency; format?: Format; baseRates: BaseRate; individualRates: IndividualRate[]; netRateSchemes: NetRateSchemas; calculateInternalMatches?: boolean; includePreTranslatedStrings?: boolean; languageId?: string; branchIds?: number[]; dateFrom?: string; dateTo?: string; labelIds?: number[]; labelIncludeType?: LabelIncludeType; } interface CostsEstimationByTaskSchema { unit?: Unit; currency?: Currency; format?: Format; baseRates?: BaseRate; individualRates?: IndividualRate[]; netRateSchemes?: NetRateSchemas; calculateInternalMatches?: boolean; includePreTranslatedStrings?: boolean; taskId?: number; } interface GroupTopMembersSchema { projectIds?: number[]; unit?: Unit; languageId?: string; format?: Format; dateFrom?: string; dateTo?: string; userIds?: number[]; } interface RawDataSchema { mode: ContributionMode; unit?: Unit; languageId?: string; userId?: number; dateFrom?: string; dateTo?: string; } type GenerateReportRequest = PreTranslateEfficeincy | PreTranslateAccuracy | TranslateAccuracy | CostEstimationPostEnding | TranslationCostsPostEnding | TopMembers | ContributionRawData | SourceContentUpdates | ProjectMembers | EditorIssues | QaCheckIssues | SavingActivity | TranslationActivity | TimeSpent | TaskUsage; type ReportSchema = Pick; /** * @deprecated use PreTranslateAccuracy instead */ interface PreTranslateEfficeincy { name: 'pre-translate-efficiency'; schema: PreTranslateAccuracySchema | PreTranslateAccuracySchemaByTask; } interface PreTranslateAccuracy { name: 'pre-translate-accuracy'; schema: PreTranslateAccuracySchema | PreTranslateAccuracySchemaByTask; } interface TranslateAccuracy { name: 'translator-accuracy'; schema: TranslateAccuracySchema; } interface CostEstimationPostEnding { name: 'costs-estimation-pe'; schema: CostEstimationPostEndingSchema | CostEstimationPostEndingSchemaByTask; } interface TranslationCostsPostEnding { name: 'translation-costs-pe'; schema: TranslationCostsPostEndingSchema | TranslationCostsPostEndingSchemaByTask; } interface TopMembers { name: 'top-members'; schema: TopMembersSchema; } interface ContributionRawData { name: 'contribution-raw-data'; schema: ContributionRawDataSchema | ContributionRawDataSchemaByTask; } interface SourceContentUpdates { name: 'source-content-updates'; schema: SourceContentUpdatesSchema; } interface ProjectMembers { name: 'project-members'; schema: MembersSchema; } interface EditorIssues { name: 'editor-issues'; schema: EditorIssuesSchema; } interface QaCheckIssues { name: 'qa-check-issues'; schema: ProjectQaCheckIssuesSchema; } interface SavingActivity { name: 'saving-activity'; schema: SavingActivitySchema; } interface TranslationActivity { name: 'translation-activity'; schema: ProjectConsumptionSchema; } interface TimeSpent { name: 'time-spent'; schema: TimeSpentSchema; } /** * Available only in Crowdin Enterprise */ interface TaskUsage { name: 'task-usage'; schema: TaskUsageSchema; } interface ReportStatusAttributes { format: Format; reportName: string; schema: S; } interface PreTranslateAccuracySchema { unit?: Unit; format?: Format; /** * @deprecated use matchScoreCategories instead */ postEditingCategories?: string[]; matchScoreCategories?: string[]; languageId?: string; dateFrom?: string; dateTo?: string; fileIds?: number[]; directoryIds?: number[]; branchIds?: number[]; labelIds?: number[]; labelIncludeType?: LabelIncludeType; skipArchiving?: boolean; } interface PreTranslateAccuracySchemaByTask { unit?: Unit; format?: Format; /** * @deprecated use matchScoreCategories instead */ postEditingCategories?: string[]; matchScoreCategories?: string[]; taskId?: number; skipArchiving?: boolean; } interface TranslateAccuracySchema { unit?: Unit; format?: Format; /** * @deprecated use matchScoreCategories instead */ postEditingCategories?: string[]; matchScoreCategories?: string[]; languageId?: string; userIds?: number[]; dateFrom?: string; dateTo?: string; fileIds?: number[]; directoryIds?: number[]; branchIds?: number[]; labelIds?: number[]; labelIncludeType?: LabelIncludeType; skipArchiving?: boolean; } interface CostEstimationPostEndingSchema { unit?: Unit; currency?: Currency; format?: Format; baseRates: BaseRate; individualRates: IndividualRate[]; netRateSchemes: Omit; calculateInternalMatches?: boolean; includePreTranslatedStrings?: boolean; languageId?: string; fileIds?: number[]; directoryIds?: number[]; branchIds?: number[]; dateFrom?: string; dateTo?: string; labelIds?: number[]; labelIncludeType?: LabelIncludeType; /** * Available only in Crowdin Enterprise */ workflowStepId?: number; skipArchiving?: boolean; } interface CostEstimationPostEndingSchemaByTask { unit?: Unit; currency?: Currency; format?: Format; baseRates?: BaseRate; individualRates?: IndividualRate[]; netRateSchemes?: Omit; calculateInternalMatches?: boolean; includePreTranslatedStrings?: boolean; /** * @deprecated use taskIds instead */ taskId?: number; taskIds?: number[]; skipArchiving?: boolean; } interface TranslationCostsPostEndingSchemaByTask { unit?: Unit; currency?: Currency; format?: Format; baseRates: PostEditingBaseRate; individualRates: PostEditingIndividualRate[]; netRateSchemes: NetRateSchemas; /** * @deprecated use taskIds instead */ taskId?: number; taskIds?: number[]; useCategoryBasedProofreadRates?: boolean; useTmEditDistance?: boolean; /** * @deprecated */ excludeApprovalsForEditedTranslations?: boolean; /** * @deprecated */ preTranslatedStringsCategorizationAdjustment?: boolean; skipArchiving?: boolean; } interface TranslationCostsPostEndingSchema { unit?: Unit; currency?: Currency; format?: Format; baseRates: PostEditingBaseRate; individualRates: PostEditingIndividualRate[]; netRateSchemes: NetRateSchemas; useCategoryBasedProofreadRates?: boolean; useTmEditDistance?: boolean; /** * @deprecated */ excludeApprovalsForEditedTranslations?: boolean; /** * @deprecated */ preTranslatedStringsCategorizationAdjustment?: boolean; groupBy?: GroupBy; dateFrom?: string; dateTo?: string; languageId?: string; userIds?: number[]; fileIds?: number[]; directoryIds?: number[]; branchIds?: number[]; labelIds?: number[] | number; labelIncludeType?: LabelIncludeType; /** * Available only in Crowdin Enterprise */ workflowStepId?: number; skipArchiving?: boolean; } interface TopMembersSchema { unit?: Unit; languageId?: string; format?: Format; dateFrom?: string; dateTo?: string; userIds?: number[]; } interface ContributionRawDataSchema { mode: ContributionMode; unit?: Unit; languageId?: string; userId?: number | string; columns?: Column[]; fileIds?: number[]; directoryIds?: number[]; branchIds?: number[]; tmIds?: number[]; mtIds?: number[]; aiPromptIds?: number[]; dateFrom?: string; dateTo?: string; } interface ContributionRawDataSchemaByTask { mode: ContributionMode; unit?: Unit; taskId: number; columns?: Column[]; tmIds?: number[]; mtIds?: number[]; aiPromptIds?: number[]; dateFrom?: string; dateTo?: string; } interface PreTranslateEfficiencySchema { unit?: Unit; format?: Format; postEditingCategories?: string[]; languageId?: string; dateFrom?: string; dateTo?: string; } interface ListOrganizationReportSettingsParams extends PaginationOptions { projectId?: number; groupId?: number; } interface ReportSettings { id: number; name: string; currency: Currency; unit: Unit; config: ReportSettinsConfig; isPublic: boolean; isGlobal: boolean; createdAt: string; updatedAt: string | null; } interface AddReportSettingsRequest { name: string; currency: Currency; unit: Unit | 'hours'; config: ReportSettinsConfig | HourlyReportSettingsConfig; isPublic?: boolean; isGlobal?: boolean; } type UserReportSettings = Omit; type AddUserReportSettingsRequest = Omit; type OrganizationReportSettings = Omit & { projectId: number; groupId: number; }; type AddOrganizationReportSettingsRequest = Omit & { projectId?: number; groupId?: number; }; interface ReportSettinsConfig { baseRates: BaseRate; netRateSchemes: NetRateSchemas; individualRates: IndividualRate[]; calculateInternalMatches?: boolean; includePreTranslatedStrings?: boolean; useCategoryBasedProofreadRates?: boolean; useTmEditDistance?: boolean; } interface HourlyReportSettingsConfig { baseRates: HourlyBaseRate; individualRates: HourlyIndividualRate[]; } type Unit = 'strings' | 'words' | 'chars' | 'chars_with_spaces'; type Currency = 'USD' | 'EUR' | 'JPY' | 'GBP' | 'AUD' | 'CAD' | 'CHF' | 'CNY' | 'SEK' | 'NZD' | 'MXN' | 'SGD' | 'HKD' | 'NOK' | 'KRW' | 'TRY' | 'RUB' | 'INR' | 'BRL' | 'ZAR' | 'GEL' | 'UAH' | 'DDK' | 'PLN'; type Format = 'xlsx' | 'csv' | 'json'; interface BaseRate { fullTranslation: number; proofread: number; } interface IndividualRate extends BaseRate { languageIds: string[]; userIds: number[]; fullTranslation: number; proofread: number; } interface PostEditingBaseRate { fullTranslation: number; /** * Required when `useCategoryBasedProofreadRates` is `false` */ proofread?: number; } interface PostEditingIndividualRate extends PostEditingBaseRate { languageIds: string[]; userIds: number[]; } interface HourlyBaseRate { hourly: number; } interface HourlyIndividualRate extends HourlyBaseRate { languageIds: string[]; userIds: number[]; } interface NetRateSchemas { tmMatch: { matchType: Mode; price: number; }[]; mtMatch: { matchType: Mode; price: number; }[]; suggestionMatch: { matchType: Mode; price: number; }[]; aiMatch?: { matchType: Mode; price: number; }[]; } type Mode = 'no_match' | 'tm_match' | 'approval' | '99-95' | '94-90' | '89-80' | 'perfect' | '100'; type ContributionMode = 'translations' | 'approvals' | 'votes'; type GroupBy = 'user' | 'language'; type LabelIncludeType = 'strings_with_label' | 'strings_without_label'; type IssueType = 'general_question' | 'translation_mistake' | 'context_request' | 'source_mistake'; type SavingActivityMode = 'currency' | 'relative'; /** * Task type filter: 0 - translate, 1 - proofread, 2 - translate by vendor, 3 - proofread by vendor */ type TypeTasks = 0 | 1 | 2 | 3; type TaskStatus = 'todo' | 'in_progress' | 'done' | 'closed' | 'review'; type Column = 'userId' | 'languageId' | 'stringId' | 'translationId' | 'fileId' | 'filePath' | 'pluralForm' | 'sourceStringTextHash' | 'mtEngine' | 'mtId' | 'tmName' | 'tmId' | 'aiPromptName' | 'aiPromptId' | 'preTranslated' | 'wasEdited' | 'branchName' | 'tmMatch' | 'mtMatch' | 'aiMatch' | 'suggestionMatch' | 'sourceUnits' | 'targetUnits' | 'createdAt' | 'updatedAt' | 'mark'; interface SourceContentUpdatesSchema { unit?: Unit; format?: Format; dateFrom?: string; dateTo?: string; languageId?: string; userIds?: number[]; fileIds?: number[]; directoryIds?: number[]; branchIds?: number[]; labelIds?: number[]; labelIncludeType?: LabelIncludeType; } interface MembersSchema { format?: Format; dateFrom?: string; dateTo?: string; } interface EditorIssuesSchema { dateFrom?: string; dateTo?: string; format?: Format; languageId?: string; userId?: number; issueType?: IssueType | null; } interface ProjectQaCheckIssuesSchema { format?: Format; dateFrom?: string; dateTo?: string; languageId?: string; } interface SavingActivitySchema { unit?: Unit; languageId?: string; format?: Format; mode?: SavingActivityMode; dateFrom?: string; dateTo?: string; userIds?: number[]; fileIds?: number[]; directoryIds?: number[]; branchIds?: number[]; labelIds?: number[]; labelIncludeType?: LabelIncludeType; } interface ProjectConsumptionSchema { unit?: Unit; languageId?: string; format?: Format; dateFrom?: string; dateTo?: string; userIds?: number[]; fileIds?: number[]; directoryIds?: number[]; branchIds?: number[]; labelIds?: number[]; labelIncludeType?: LabelIncludeType; } interface TimeSpentSchema { format?: Format; groupBy?: GroupBy | 'task'; baseRates?: HourlyBaseRate; individualRates?: HourlyIndividualRate[]; languageId?: string; userIds?: number[]; typeTasks?: TypeTasks; dateFrom?: string; dateTo?: string; taskIds?: number[]; /** * Available only in Crowdin Enterprise */ workflowStepId?: number; skipArchiving?: boolean; } interface TaskUsageSchema { format: Format; type: 'workload' | 'created-vs-resolved' | 'performance' | 'time' | 'cost'; dateFrom?: string; dateTo?: string; groupBy?: 'user' | 'language' | 'type'; typeTasks?: TypeTasks; languageId?: string; creatorId?: number; assigneeId?: number; wordsCountFrom?: number; wordsCountTo?: number; statuses?: TaskStatus[]; } interface GroupTaskUsageSchema { format: Format; type: 'workload' | 'create-vs-resolve' | 'created-vs-resolved' | 'performance' | 'time' | 'cost'; projectIds?: number[]; assigneeId?: number; creatorId?: number; dateFrom?: string; dateTo?: string; groupBy?: 'user' | 'language' | 'type' | 'project'; typeTasks?: TypeTasks; languageId?: string; statuses?: TaskStatus[]; wordsCountFrom?: number; wordsCountTo?: number; excludeApprovalsForEditedTranslations?: boolean; currency?: Currency; baseRates?: BaseRate; individualRates?: IndividualRate[]; netRateSchemes?: NetRateSchemas; } interface GroupQaCheckIssuesSchema { projectIds?: number[]; format?: Format; dateFrom?: string; dateTo?: string; languageId?: string; } interface GroupTranslationActivitySchema { projectIds?: number[]; unit?: Unit; languageId?: string; format?: Format; dateFrom?: string; dateTo?: string; userIds?: number[]; fileIds?: number[]; directoryIds?: number[]; branchIds?: number[]; labelIds?: number[]; labelIncludeType?: LabelIncludeType; } interface GroupSourceContentUpdatesSchema { unit?: Unit; format?: Format; projectIds?: number[]; dateFrom?: string; dateTo?: string; } interface GroupTimeSpentSchema { format?: Format; groupBy?: GroupBy | 'task' | 'project'; baseRates?: HourlyBaseRate; individualRates?: HourlyIndividualRate[]; languageId?: string; userIds?: number[]; typeTasks?: TypeTasks; dateFrom?: string; dateTo?: string; projectIds?: number[]; taskIds?: number[]; skipArchiving?: boolean; } interface GroupPreTranslateAccuracySchema { unit?: Unit; languageId?: string; format?: Format; dateFrom?: string; dateTo?: string; matchScoreCategories?: string[]; projectIds?: number[]; skipArchiving?: boolean; } interface GroupPreTranslateAccuracySchemaByTask { unit?: Unit; format?: Format; matchScoreCategories?: string[]; taskIds?: number[]; skipArchiving?: boolean; } interface GroupTranslatorAccuracySchema { unit?: Unit; languageId?: string; format?: Format; dateFrom?: string; dateTo?: string; matchScoreCategories?: string[]; userIds?: number[]; projectIds?: number[]; skipArchiving?: boolean; } interface GroupSavingActivitySchema { unit?: Unit; projectIds?: number[]; format?: Format; dateFrom?: string; dateTo?: string; languageId?: string; mode?: SavingActivityMode; } }