---
title: "Generate Report"
method: POST
path: "/projects/{projectId}/reports"
tags: ["Reports"]
---

# Generate Report

`POST /projects/{projectId}/reports`

## Request

- Base URL: `https://api.crowdin.com/api/v2`
- URL: `https://api.crowdin.com/api/v2/projects/{projectId}/reports`
- Auth: none declared
- TypeScript: <https://skmtc.dev/crowdin/apis/crowdin-api-v2/docs/projects/:projectId/reports/post.ts> (a function with typed inputs; its response is checked against the schema)

**Required scopes:** `project.report` (Read only).

## Path parameters

- `projectId` integer, required

## Request body

- union
  - PreTranslateAccuracy: Calculate the accuracy of the pre-translation process __Note:__ The strings included in this report must be approved and have at least one "pre-translate" type translation. All other human translations will not be considered in this report, except in cases where such a translation is approved and used as a reference.
    - `name` 'pre-translate-efficiency' | 'pre-translate-accuracy', required: pre-translate-efficiency(deprecated), pre-translate-accuracy
    - `schema` union, required: Pre-translation Accuracy Report schema
      - object
        - `unit` 'strings' | 'words' | 'chars' | 'chars_with_spaces': Defines report unit
        - `format` 'xlsx' | 'csv' | 'json': Defines export file format
        - `postEditingCategories` string[]: Split into categories by edit distance. **Deprecated**. Use `matchScoreCategories` instead
        - `matchScoreCategories` string[]: Split into categories by match score. Ranges should be in descending order (e.g., 100-90, 89-80)
        - `languageId` string: Language Identifier for which the report should be generated. Get via [List Supported Languages](#operation/api.languages.getMany)
        - `dateFrom` string, date-time: Report date from in UTC, ISO 8601
        - `dateTo` string, date-time: Report date to in UTC, ISO 8601
        - `branchIds` integer[]: Array of branch ids. Get via [List Branches](#operation/api.projects.branches.getMany)
        - `labelIds` integer[]: Array of label ids. Get via [List Labels](#operation/api.projects.labels.getMany)
        - `labelIncludeType` 'strings_with_label' | 'strings_without_label': Defines which strings include in report
        - `skipArchiving` boolean: If true, the report will not be saved to the archive for historical reference.
      - object
        - `unit` 'strings' | 'words' | 'chars' | 'chars_with_spaces': Defines report unit
        - `format` 'xlsx' | 'csv' | 'json': Defines export file format
        - `postEditingCategories` string[]: Split into categories by edit distance. **Deprecated**. Use `matchScoreCategories` instead
        - `matchScoreCategories` string[]: Split into categories by match score. Ranges should be in descending order (e.g., 100-90, 89-80)
        - `taskId` integer: Task Identifier for which the report should be generated. Get via [List Tasks](#operation/api.projects.tasks.getMany)
        - `skipArchiving` boolean: If true, the report will not be saved to the archive for historical reference.
  - TranslatorAccuracy: Calculate the accuracy of the user process __Note:__ The strings included in this report must be approved and translated by a human. Any other translations, including those that are only self-approved, will not be included unless they are also approved by another party and used as a reference.
    - `name` 'translator-accuracy', required: translator-accuracy
    - `schema` TranslatorAccuracyReportGeneral, required
      - `unit` 'strings' | 'words' | 'chars' | 'chars_with_spaces': Defines report unit
      - `format` 'xlsx' | 'csv' | 'json': Defines export file format
      - `postEditingCategories` string[]: Split into categories by edit distance. **Deprecated**. Use `matchScoreCategories` instead
      - `matchScoreCategories` string[]: Split into categories by match score. Ranges should be in descending order (e.g., 100-90, 89-80)
      - `languageId` string: Language Identifier for which the report should be generated. Get via [List Supported Languages](#operation/api.languages.getMany)
      - `userIds` integer[]: Array of user ids. Get via [List Project Members](#operation/api.projects.members.getMany)
      - `dateFrom` string, date-time: Report date from in UTC, ISO 8601
      - `dateTo` string, date-time: Report date to in UTC, ISO 8601
      - `branchIds` integer[]: Array of branch ids. Get via [List Branches](#operation/api.projects.branches.getMany)
      - `labelIds` integer[]: Array of label ids. Get via [List Labels](#operation/api.projects.labels.getMany)
      - `labelIncludeType` 'strings_with_label' | 'strings_without_label': Defines which strings include in report
      - `skipArchiving` boolean: If true, the report will not be saved to the archive for historical reference.
  - CostsEstimationPostEditing: Calculate the approximate translation costs to help plan your budget
    - `name` 'costs-estimation-pe', required: costs-estimation-pe
    - `schema` union, required: Costs Estimation Post-Editing Report schema
      - object
        - `unit` 'strings' | 'words' | 'chars' | 'chars_with_spaces': Defines report unit
        - `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': Defines report currency
        - `format` 'xlsx' | 'csv' | 'json': Defines export file format
        - `baseRates` CostsEstimationPeReportBaseRates, required
          - `fullTranslation` number, float, required: Applies to all languages by default
          - `proofread` number, float, required
        - `individualRates` CostsEstimationPeReportIndividualRate[], required: Individual rates (Custom rates for certain languages or users)
          - `languageIds` string[], required: Array of language ids
          - `fullTranslation` number, float, required
          - `proofread` number, float, required
        - `netRateSchemes` CostsEstimationPeReportNetRateSchemes, required
          - `tmMatch` CostsEstimationPeReportNetRateSchemesTmMatchNetRate[], required: Must include the `perfect` and `100` match types.
            - `matchType` string, required: Match type, %. Possible values: `perfect`, `100`, or a percentage range (e.g., `99-82`, `81-60`)
            - `price` number, float, required: Price, %
        - `calculateInternalMatches` boolean
        - `includePreTranslatedStrings` boolean
        - `languageId` string: Language Identifier for which the report should be generated. Get via [List Supported Languages](#operation/api.languages.getMany)
        - `branchIds` integer[]: Array of branch ids. Get via [List Branches](#operation/api.projects.branches.getMany)
        - `dateFrom` string, date-time: Report date from in UTC, ISO 8601
        - `dateTo` string, date-time: Report date to in UTC, ISO 8601
        - `labelIds` integer[]: Array of label ids. Get via [List Labels](#operation/api.projects.labels.getMany)
        - `labelIncludeType` 'strings_with_label' | 'strings_without_label': Defines which strings include in report
        - `skipArchiving` boolean: If true, the report will not be saved to the archive for historical reference.
      - object
        - `unit` 'strings' | 'words' | 'chars' | 'chars_with_spaces': Defines report unit
        - `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': Defines report currency
        - `format` 'xlsx' | 'csv' | 'json': Defines export file format
        - `baseRates` CostsEstimationPeReportBaseRates
          - `fullTranslation` number, float, required: Applies to all languages by default
          - `proofread` number, float, required
        - `individualRates` CostsEstimationPeReportIndividualRate[]: Individual rates (Custom rates for certain languages or users)
          - `languageIds` string[], required: Array of language ids
          - `fullTranslation` number, float, required
          - `proofread` number, float, required
        - `netRateSchemes` CostsEstimationPeReportNetRateSchemes
          - `tmMatch` CostsEstimationPeReportNetRateSchemesTmMatchNetRate[], required: Must include the `perfect` and `100` match types.
            - `matchType` string, required: Match type, %. Possible values: `perfect`, `100`, or a percentage range (e.g., `99-82`, `81-60`)
            - `price` number, float, required: Price, %
        - `calculateInternalMatches` boolean
        - `includePreTranslatedStrings` boolean
        - `taskId` integer: Task Identifier. Get via [List Tasks](#operation/api.projects.tasks.getMany)
        - `taskIds` integer[]: Array of task ids. Get via [List Tasks](#operation/api.projects.tasks.getMany)
        - `skipArchiving` boolean: If true, the report will not be saved to the archive for historical reference.
  - TranslationCostsPostEditing: Calculate the real translation costs to pay your translators and proofreaders
    - `name` 'translation-costs-pe', required: translation-costs-pe
    - `schema` union, required: Translation Costs Post-Editing Report schema
      - object
        - `unit` 'strings' | 'words' | 'chars' | 'chars_with_spaces': Defines report unit
        - `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': Defines report currency
        - `format` 'xlsx' | 'csv' | 'json': Defines export file format
        - `baseRates` TranslationCostsPeReportBaseRates, required
          - `fullTranslation` number, float, required: Applies to all languages by default
          - `proofread` number, float: Proofread rate. Required when `useCategoryBasedProofreadRates` is `false`.
        - `individualRates` TranslationCostsPeReportIndividualRate[], required: Individual rates (Custom rates for certain languages or users)
          - `languageIds` string[], required: Array of language ids
          - `userIds` integer[], required: Array of user ids
          - `fullTranslation` number, float, required
          - `proofread` number, float: Proofread rate. Required when `useCategoryBasedProofreadRates` is `false`.
        - `netRateSchemes` TranslationCostsPeReportNetRateSchemes, required
          - `tmMatch` TranslationCostsPeReportNetRateSchemesTmMatchNetRate[], required: Must include the `100` match type, and the `perfect` match type when `useTmEditDistance` is `false`. With `useTmEditDistance` enabled, edit-distance matching produces no perfect matches (capped at `100`).
            - `matchType` string, required: Match type, %. Possible values: `perfect`, `100`, or a percentage range (e.g., `99-82`, `81-60`)
            - `price` number, float, required: Price, %
          - `mtMatch` TranslationCostsPeReportNetRateSchemesMtMatchNetRate[], required: Must include the `100` match type.
            - `matchType` string, required: Match type, %. Possible values: `100` or a percentage range (e.g., `99-82`, `81-60`)
            - `price` number, float, required: Price, %
          - `aiMatch` TranslationCostsPeReportNetRateSchemesAiMatchNetRate[]: __Note:__ The `aiMatch` field is optional. If this field is not filled in, the schema will be taken from the `mtMatch` field. When filled in, it must include the `100` match type.
            - `matchType` string, required: Match type, %. Possible values: `100` or a percentage range (e.g., `99-82`, `81-60`)
            - `price` number, float, required: Price, %
          - `suggestionMatch` TranslationCostsPeReportNetRateSchemesSuggestionMatchNetRate[], required: Must include the `100` match type.
            - `matchType` string, required: Match type, %. Possible values: `100` or a percentage range (e.g., `99-82`, `81-60`)
            - `price` number, float, required: Price, %
        - `useCategoryBasedProofreadRates` boolean: Approvals are treated as submitting an identical translation at the 100% match rate of the corresponding Net Rate Scheme category (TM, MT, AI, or other). When disabled, all approvals use the flat base proofread rate.
        - `useTmEditDistance` boolean: Calculations are based on the edit distance between the TM match and final translation instead of source segment similarity. Matches recorded before July 13, 2026, fall back to traditional source similarity.
        - `excludeApprovalsForEditedTranslations` boolean: Exclude approvals when the same user has made translations for the string.
        - `preTranslatedStringsCategorizationAdjustment` boolean: Repetitive translations of pre-translated strings are reported under TM or MT match rates instead of Other suggestion match rates, depending on the initial pre-translation type.
        - `groupBy` 'user' | 'language': Defines grouping parameter
        - `dateFrom` string, date-time: Report date from in UTC, ISO 8601
        - `dateTo` string, date-time: Report date to in UTC, ISO 8601
        - `languageId` string: Language Identifier for which the report should be generated. Get via [List Supported Languages](#operation/api.languages.getMany)
        - `userIds` integer[]: Array of user ids
        - `branchIds` integer[]: Array of branch ids. Get via [List Branches](#operation/api.projects.branches.getMany)
        - `labelIds` integer[]: Array of label ids. Get via [List Labels](#operation/api.projects.labels.getMany)
        - `labelIncludeType` 'strings_with_label' | 'strings_without_label': Defines which strings include in report
        - `skipArchiving` boolean: If true, the report will not be saved to the archive for historical reference.
      - object
        - `unit` 'strings' | 'words' | 'chars' | 'chars_with_spaces': Defines report unit
        - `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': Defines report currency
        - `format` 'xlsx' | 'csv' | 'json': Defines export file format
        - `baseRates` TranslationCostsPeReportBaseRates, required
          - `fullTranslation` number, float, required: Applies to all languages by default
          - `proofread` number, float: Proofread rate. Required when `useCategoryBasedProofreadRates` is `false`.
        - `individualRates` TranslationCostsPeReportIndividualRate[], required: Individual rates (Custom rates for certain languages or users)
          - `languageIds` string[], required: Array of language ids
          - `userIds` integer[], required: Array of user ids
          - `fullTranslation` number, float, required
          - `proofread` number, float: Proofread rate. Required when `useCategoryBasedProofreadRates` is `false`.
        - `netRateSchemes` TranslationCostsPeReportNetRateSchemes, required
          - `tmMatch` TranslationCostsPeReportNetRateSchemesTmMatchNetRate[], required: Must include the `100` match type, and the `perfect` match type when `useTmEditDistance` is `false`. With `useTmEditDistance` enabled, edit-distance matching produces no perfect matches (capped at `100`).
            - `matchType` string, required: Match type, %. Possible values: `perfect`, `100`, or a percentage range (e.g., `99-82`, `81-60`)
            - `price` number, float, required: Price, %
          - `mtMatch` TranslationCostsPeReportNetRateSchemesMtMatchNetRate[], required: Must include the `100` match type.
            - `matchType` string, required: Match type, %. Possible values: `100` or a percentage range (e.g., `99-82`, `81-60`)
            - `price` number, float, required: Price, %
          - `aiMatch` TranslationCostsPeReportNetRateSchemesAiMatchNetRate[]: __Note:__ The `aiMatch` field is optional. If this field is not filled in, the schema will be taken from the `mtMatch` field. When filled in, it must include the `100` match type.
            - `matchType` string, required: Match type, %. Possible values: `100` or a percentage range (e.g., `99-82`, `81-60`)
            - `price` number, float, required: Price, %
          - `suggestionMatch` TranslationCostsPeReportNetRateSchemesSuggestionMatchNetRate[], required: Must include the `100` match type.
            - `matchType` string, required: Match type, %. Possible values: `100` or a percentage range (e.g., `99-82`, `81-60`)
            - `price` number, float, required: Price, %
        - `taskId` integer: Task Identifier. Get via [List Tasks](#operation/api.projects.tasks.getMany)
        - `taskIds` integer[]: Array of task ids. Get via [List Tasks](#operation/api.projects.tasks.getMany)
        - `useCategoryBasedProofreadRates` boolean: Approvals are treated as submitting an identical translation at the 100% match rate of the corresponding Net Rate Scheme category (TM, MT, AI, or other). When disabled, all approvals use the flat base proofread rate.
        - `useTmEditDistance` boolean: Calculations are based on the edit distance between the TM match and final translation instead of source segment similarity. Matches recorded before July 13, 2026, fall back to traditional source similarity.
        - `excludeApprovalsForEditedTranslations` boolean: Exclude approvals when the same user has made translations for the string.
        - `preTranslatedStringsCategorizationAdjustment` boolean: Repetitive translations of pre-translated strings are reported under TM or MT match rates instead of Other suggestion match rates, depending on the initial pre-translation type.
        - `skipArchiving` boolean: If true, the report will not be saved to the archive for historical reference.
  - TopMembers: Generate a list of translators based on a specific period of time to see who contributed the most to your project's translation.
    - `name` 'top-members', required: top-members
    - `schema` object, required: Top Members Report schema
      - `unit` 'strings' | 'words' | 'chars' | 'chars_with_spaces': Defines report unit
      - `languageId` string: Language Identifier for which the report should be generated. Get via [List Supported Languages](#operation/api.languages.getMany)
      - `format` 'xlsx' | 'csv' | 'json': Defines export file format
      - `dateFrom` string, date-time: Report date from in UTC, ISO 8601
      - `dateTo` string, date-time: Report date to in UTC, ISO 8601
      - `userIds` integer[]: Array of user ids. Get via [List Project Members](#operation/api.projects.members.getMany)
  - ContributionRawData: Generate a raw contribution data
    - `name` 'contribution-raw-data', required: contribution-raw-data
    - `schema` union, required: Contribution Raw Data Report schema
      - object
        - `mode` 'translations' | 'approvals' | 'votes', required: Defines report mode
        - `unit` 'strings' | 'words' | 'chars' | 'chars_with_spaces': Defines report unit
        - `languageId` string: Language Identifier for which the report should be generated. Get via [List Supported Languages](#operation/api.languages.getMany)
        - `userId` integer: User Identifier for which the report should be generated. Get via [List Project Members](#operation/api.projects.members.getMany)
        - `columns` union
          - ContributionReportModeTranslationItems[]
          - ContributionReportModeApprovalItems[]
          - ContributionReportModeVotesItems[]
        - `tmIds` integer[]: Array of Tm ids. Get via [List TMs](#operation/api.tms.getMany)
        - `mtIds` integer[]: Array of Mt ids. Get via [List MTs](#operation/api.mts.getMany)
        - `aiPromptIds` integer[]: Array of AI Prompts ids. Get via [List AI Prompts](#operation/api.ai.prompts.getMany)
        - `branchIds` integer[]: Array of branch ids. Get via [List Branches](#operation/api.projects.branches.getMany)
        - `dateFrom` string, date-time: Report date from in UTC, ISO 8601
        - `dateTo` string, date-time: Report date to in UTC, ISO 8601
      - object
        - `mode` 'translations' | 'approvals' | 'votes', required: Defines report mode
        - `unit` 'strings' | 'words' | 'chars' | 'chars_with_spaces': Defines report unit
        - `taskId` integer, required: Task Identifier. Get via [List Tasks](#operation/api.projects.tasks.getMany)
        - `columns` union
          - ContributionReportModeTranslationItems[]
          - ContributionReportModeApprovalItems[]
          - ContributionReportModeVotesItems[]
        - `tmIds` integer[]: Array of Tm ids. Get via [List TMs](#operation/api.tms.getMany)
        - `mtIds` integer[]: Array of Mt ids. Get via [List MTs](#operation/api.mts.getMany)
        - `aiPromptIds` integer[]: Array of AI Prompts ids. Get via [List AI Prompts](#operation/api.ai.prompts.getMany)
        - `dateFrom` string, date-time: Report date from in UTC, ISO 8601
        - `dateTo` string, date-time: Report date to in UTC, ISO 8601
  - SourceContentUpdates: Generate a report showing changes in source content over time, including added, deleted and modified strings/words/characters
    - `name` 'source-content-updates', required: source-content-updates
    - `schema` SourceContentUpdatesReport, required
      - `unit` 'strings' | 'words' | 'chars' | 'chars_with_spaces': Defines report unit
      - `format` 'xlsx' | 'csv' | 'json': Defines export file format
      - `dateFrom` string, date-time: Report date from in UTC, ISO 8601
      - `dateTo` string, date-time: Report date to in UTC, ISO 8601
  - ProjectMembersStatistics: Generate a report showing changes in project members overtime
    - `name` 'project-members', required: project-members
    - `schema` ProjectMembersReport, required
      - `format` 'xlsx' | 'csv' | 'json': Defines export file format
      - `dateFrom` string, date-time: Report date from in UTC, ISO 8601
      - `dateTo` string, date-time: Report date to in UTC, ISO 8601
  - EditorIssues: Generate a report showing issue statistics, categories, users, and average resolution time.
    - `name` 'editor-issues', required: editor-issues
    - `schema` EditorIssuesReport, required
      - `dateFrom` string, date-time: Report date from in UTC, ISO 8601
      - `dateTo` string, date-time: Report date to in UTC, ISO 8601
      - `format` 'xlsx' | 'csv' | 'json': Defines export file format
      - `issueType` 'general_question' | 'translation_mistake' | 'context_request' | 'source_mistake', nullable: Defines issue type
  - ProjectQaCheckIssues: Generate a report showing changes in project qa check issues overtime
    - `name` 'qa-check-issues', required: qa-check-issues
    - `schema` ProjectQaCheckIssuesReport, required
      - `format` 'xlsx' | 'csv' | 'json': Defines export file format
      - `languageId` string: Language Identifier for which the report should be generated. Get via [List Supported Languages](#operation/api.languages.getMany)
      - `dateFrom` string, date-time: Report date from in UTC, ISO 8601
      - `dateTo` string, date-time: Report date to in UTC, ISO 8601
  - ProjectSavingActivity: Generate a report showing translation savings activity over time, including MT/AI cost savings and efficiency metrics
    - `name` 'saving-activity', required: saving-activity
    - `schema` SavingActivityReport, required
      - `unit` 'strings' | 'words' | 'chars' | 'chars_with_spaces': Defines report unit
      - `languageId` string: Language Identifier for which the report should be generated. Get via [List Supported Languages](#operation/api.languages.getMany)
      - `format` 'xlsx' | 'csv' | 'json': Defines export file format
      - `mode` 'currency' | 'relative'
      - `dateFrom` string, date-time: Report date from in UTC, ISO 8601
      - `dateTo` string, date-time: Report date to in UTC, ISO 8601
      - `branchIds` integer[]: Array of branch ids. Get via [List Branches](#operation/api.projects.branches.getMany)
      - `userIds` integer[]: Array of user ids. Get via [List Project Members](#operation/api.projects.members.getMany)
  - ProjectTranslationActivity: Generate a report showing project consumption metrics including translation activity and proofreading activity over time
    - `name` 'translation-activity', required: translation-activity
    - `schema` ProjectConsumptionReport, required
      - `unit` 'strings' | 'words' | 'chars' | 'chars_with_spaces': Defines report unit
      - `languageId` string: Language Identifier for which the report should be generated. Get via [List Supported Languages](#operation/api.languages.getMany)
      - `format` 'xlsx' | 'csv' | 'json': Defines export file format
      - `dateFrom` string, date-time: Report date from in UTC, ISO 8601
      - `dateTo` string, date-time: Report date to in UTC, ISO 8601
      - `userIds` integer[]: Array of user ids. Get via [List Project Members](#operation/api.projects.members.getMany)
  - TimeSpent: Explore detailed statistics on task creation, workload, progress, and performance.
    - `name` 'time-spent', required: time-spent
    - `schema` ProjectTimeSpentReport, required
      - `format` 'xlsx' | 'csv' | 'json': Defines export file format
      - `groupBy` 'user' | 'language' | 'task': Defines grouping parameter
      - `baseRates` TimeSpentReportBaseRates
        - `hourly` number, float, required
      - `individualRates` TimeSpentReportIndividualRate[]: Individual rates (Custom rates for certain languages or users)
        - `languageIds` string[], required
        - `userIds` integer[], required: Array of user ids
        - `hourly` number, float, required
      - `languageId` string: Language Identifier for which the report should be generated. Get via [List Supported Languages](#operation/api.languages.getMany)
      - `userIds` integer[]: Array of user ids
      - `typeTasks` 0 | 1 | 2 | 3: Task type: * 0 - Translate by own translators * 1 - Proofread by own proofreaders * 2 - Translate by vendor * 3 - Proofread by vendor
      - `dateFrom` string, date-time: Report date from in UTC, ISO 8601
      - `dateTo` string, date-time: Report date to in UTC, ISO 8601
      - `taskIds` integer[]: Task Identifier for which the report should be generated. Get via [List Tasks](#operation/api.projects.tasks.getMany)
      - `skipArchiving` boolean: If true, the report will not be saved to the archive for historical reference.

## Response `201`

Report generation was successfully started

- ReportResource: Base schema of resource container. Container is a wrapper object that contains payload in required `data` property and provides space for adding any other metadata.
  - `data` ReportGenerate, required: Generate Report Response Model
    - `identifier` string
    - `status` string
    - `progress` integer: in percentages
    - `attributes` object
      - `format` string
      - `reportName` string
      - `schema` object
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `startedAt` string, date-time
    - `finishedAt` string, date-time

## Other responses

- `400`: Invalid Request Parameters
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Project with specified id was not found
- `405`: Method Not Allowed
- `409`: Conflict

---

[API](https://skmtc.dev/crowdin/apis/crowdin-api-v2.md) - [All operations](https://skmtc.dev/crowdin/apis/crowdin-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/crowdin/apis/crowdin-api-v2/revisions/27aae7751699?raw)
