Smartling Reports API

The Reports API allows to request various reports available on Smartling platform and specify additional filtering criteria to narrow down data returned by the reports.

OpenAPI Specification

smartling-reports-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  contact:
    email: support@smartling.com
  description: 'Before you begin using the Smartling APIs, we recommend going through our [Developer documentation](https://help.smartling.com/hc/en-us/categories/1260801686149).

    '
  termsOfService: https://www.smartling.com/legal
  title: Smartling REST API Reference Account & Projects Reports API
  version: 2.0.0
  x-logo:
    url: smartling_logo.png
servers:
- url: https://api.smartling.com
tags:
- name: Reports
  description: 'The Reports API allows to request various reports available on Smartling

    platform and specify additional filtering criteria to narrow down data

    returned by the reports.'
paths:
  /reports-api/v3/word-count:
    get:
      summary: Get Word Count Report
      description: Word Count report data for the specified parameters.
      tags:
      - Reports
      operationId: getWordCountReport
      parameters:
      - description: A parameter to limit words processed on or after the ```startDate```, in America/New_York timezone.
        in: query
        name: startDate
        required: true
        schema:
          format: YYYY-MM-DD
          type: string
      - description: A parameter to limit words processed on or before the ```endDate```, in America/New_York timezone.
        in: query
        name: endDate
        required: true
        schema:
          format: YYYY-MM-DD
          type: string
      - description: The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.
        in: query
        name: accountUid
        required: true
        schema:
          type: string
      - description: Optional array of unique project identifiers. This can be found in the Smartling Dashboard under Account Settings > API.
        in: query
        name: projectIds
        required: false
        schema:
          items:
            type: string
          type: array
      - description: Optional parameter to filter to the specified list of translation jobs.
        in: query
        name: jobUids
        required: false
        schema:
          items:
            type: string
          type: array
      - description: Optional parameter of unique agency identifier.
        in: query
        name: agencyUid
        required: false
        schema:
          type: string
      - description: Optional parameter to filter to the specified list of translation resources.
        in: query
        name: userUids
        required: false
        schema:
          items:
            type: string
          type: array
      - description: Optional parameter to filter to the specified list of translation locale IDs.
        in: query
        name: targetLocaleIds
        required: false
        schema:
          items:
            type: string
          type: array
      - description: "Optional parameter to filter to the specified list of workflow step types.\n\nThe supported list of workflow step types is:\n\n  - Translation\n\n  - Edit\n\n  - Review\n\n  - Post-Edit\n\n  - Transcreation\n\n  - Transcreation review\n\n  - AI Review\n\n  - Quality Evaluation\n\n  - LQA\n\n  - Internal Review\n\n  - Desktop Publishing\n\n  - AI Translation\n\n  - Light Post-Edit"
        in: query
        name: workflowStepTypes
        required: false
        schema:
          items:
            type: string
          type: array
      - description: "Optional comma-separated list of fields names to be returned by the endpoint. If this parameter is not set then the list of fields returned is defined by `include...` parameters.\n\nBoth `fields` and `include...` parameters are not allowed at the same time.\n\nThe supported list of fields names is:\n\n  - accountUid\n\n  - accountName\n\n  - projectId\n\n  - projectName\n\n  - targetLocaleId\n\n  - targetLocale\n\n  - jobUid\n\n  - jobName\n\n  - jobReferenceNumber\n  \n  - jobNumber\n\n  - translationResourceUid\n\n  - translationResourceName\n\n  - agencyUid\n\n  - agencyName\n\n  - workflowStepType\n\n  - workflowStepUid\n\n  - workflowStepName\n\n  - fuzzyProfileName\n\n  - fuzzyTier\n\n  - wordCount\n\n  - weightedWordCount\n\n  - characterCount. Please note: the column shows correct data since 2022-10-01.\n"
        in: query
        name: fields
        required: false
        schema:
          type: string
      - description: 'Optional parameter to specify whether the report should group word count by translation resource name.


          Deprecated, use parameter `fields` instead.

          '
        in: query
        name: includeTranslationResource
        required: false
        deprecated: true
        schema:
          default: true
          type: boolean
      - description: 'Optional parameter to specify whether the report should group word count by translation job name.


          Deprecated, use parameter `fields` instead.

          '
        in: query
        name: includeJob
        required: false
        deprecated: true
        schema:
          default: true
          type: boolean
      - description: 'Optional parameter to specify whether the report should group word count by translation job and include reference number in the response.


          Deprecated, use parameter `fields` instead.

          '
        in: query
        name: includeJobReferenceNumber
        required: false
        deprecated: true
        schema:
          default: false
          type: boolean
      - description: "Optional parameter to specify whether the report should group word count by translation job and include job number in the response.  \nDeprecated, use parameter `fields` instead.\n"
        in: query
        name: includeJobNumber
        required: false
        deprecated: true
        schema:
          default: false
          type: boolean
      - description: "Optional parameter to specify whether the report should group word count by fuzzy match profile and tier.          \n\nDeprecated, use parameter `fields` instead.\n"
        in: query
        name: includeFuzzyMatchProfile
        required: false
        deprecated: true
        schema:
          default: true
          type: boolean
      - description: 'Optional parameter to specify whether the report should group word count by workflow step uid and name.


          Deprecated, use parameter `fields` instead.

          '
        in: query
        name: includeWorkflowStep
        required: false
        deprecated: true
        schema:
          default: false
          type: boolean
      - description: Standard Smartling limit and offset to paginate through results. Default value is 10000.
        in: query
        name: limit
        required: false
        schema:
          default: 10000
          maximum: 10000
          minimum: 0
          type: integer
      - description: Standard Smartling limit and offset to paginate through results. Default value is 0.
        in: query
        name: offset
        required: false
        schema:
          default: 0
          maximum: 10000
          minimum: 0
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WordCountResponse'
              examples:
                response:
                  value:
                    response:
                      code: SUCCESS
                      data:
                        items:
                        - accountName: Test Account
                          accountUid: 35a84f71
                          agencyName: Test Agency 1
                          agencyUid: 0ed85b93
                          fuzzyProfileName: Default
                          fuzzyTier: 85 - 94.9%
                          jobName: Translation Job 1
                          jobUid: f12ad8e9
                          jobReferenceNumber: Job reference number
                          projectId: ba952f4c
                          projectName: Test Project 1
                          targetLocaleId: es-ES
                          targetLocaleName: Spanish (Spain)
                          translationResourceName: Agency Translator 5
                          translationResourceUid: da57302e
                          weightedWordCount: 4
                          wordCount: 20
                          characterCount: 101
                          workflowStepType: Translation
                          workflowStepUid: lk3gh7zr20ao
                          workflowStepName: Translation
                        - accountName: Test Account
                          accountUid: 35a84f71
                          agencyName: Test Agency 2
                          agencyUid: 4d6230e1
                          fuzzyProfileName: Default
                          fuzzyTier: 85 - 94.9%
                          jobName: Translation Job 1
                          jobUid: f12ad8e9
                          jobReferenceNumber: Job reference number
                          projectId: ba952f4c
                          projectName: Test Project 1
                          targetLocaleId: es-ES
                          targetLocale: Spanish (Spain)
                          translationResourceName: Agency Editor 12
                          translationResourceUid: 5eb90a14
                          weightedWordCount: 20
                          wordCount: 20
                          characterCount: 101
                          workflowStepType: Edit
                          workflowStepUid: ac7ac1bd15bf
                          workflowStepName: Edit
                        resultsTruncated: false
        '400':
          $ref: '#/components/responses/Error400ResponseDefinition'
        '401':
          $ref: '#/components/responses/Error401ResponseDefinition'
        '429':
          $ref: '#/components/responses/Error429ResponseDefinition'
        '500':
          $ref: '#/components/responses/Error500ResponseDefinition'
  /reports-api/v3/word-count/csv:
    get:
      summary: Export Word Count in CSV format
      description: Export Word Count report in CSV format.
      tags:
      - Reports
      operationId: exportWordCountReport
      parameters:
      - description: A parameter to limit words processed on or after the ```startDate```, in America/New_York timezone.
        in: query
        name: startDate
        required: true
        schema:
          format: YYYY-MM-DD
          type: string
      - description: A parameter to limit words processed on or before the ```endDate```, in America/New_York timezone.
        in: query
        name: endDate
        required: true
        schema:
          format: YYYY-MM-DD
          type: string
      - description: The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.
        in: query
        name: accountUid
        required: true
        schema:
          type: string
      - description: Optional array of unique project identifiers. This can be found in the Smartling Dashboard under Account Settings > API.
        in: query
        name: projectIds
        required: false
        schema:
          items:
            type: string
          type: array
      - description: Optional parameter to filter to the specified list of translation jobs.
        in: query
        name: jobUids
        required: false
        schema:
          items:
            type: string
          type: array
      - description: Optional parameter of unique agency identifier.
        in: query
        name: agencyUid
        required: false
        schema:
          type: string
      - description: Optional parameter to filter to the specified list of translation resources.
        in: query
        name: userUids
        required: false
        schema:
          items:
            type: string
          type: array
      - description: Optional parameter to filter to the specified list of translation locale IDs.
        in: query
        name: targetLocaleIds
        required: false
        schema:
          items:
            type: string
          type: array
      - description: "Optional parameter to filter to the specified list of workflow step types.\n\nThe supported list of workflow step types is:\n\n  - Translation\n\n  - Edit\n\n  - Review\n\n  - Post-Edit\n\n  - Transcreation\n\n  - Transcreation review\n\n  - AI Review\n\n  - Quality Evaluation\n\n  - LQA\n\n  - Internal Review\n\n  - Desktop Publishing\n\n  - AI Translation\n\n  - Light Post-Edit"
        in: query
        name: workflowStepTypes
        required: false
        schema:
          items:
            type: string
          type: array
      - description: "Optional comma-separated list of fields names to be returned by the endpoint. If this parameter is not set then the list of fields returned is defined by `include...` parameters.\n\nBoth `fields` and `include...` parameters are not allowed at the same time.\n\nThe supported list of fields names is:\n\n  - accountUid\n\n  - accountName\n\n  - projectId\n\n  - projectName\n\n  - targetLocaleId\n\n  - targetLocale\n\n  - jobUid\n\n  - jobName\n\n  - jobReferenceNumber\n  \n  - jobNumber\n\n  - translationResourceUid\n\n  - translationResourceName\n\n  - agencyUid\n\n  - agencyName\n\n  - workflowStepType\n\n  - workflowStepUid\n\n  - workflowStepName\n\n  - fuzzyProfileName\n\n  - fuzzyTier\n\n  - wordCount\n\n  - weightedWordCount\n\n  - characterCount. Please note: the column shows correct data since 2022-10-01.\n"
        in: query
        name: fields
        required: false
        schema:
          type: string
      - description: 'Optional parameter to specify whether the report should group word count by translation resource name.


          Deprecated, use parameter `fields` instead.

          '
        in: query
        name: includeTranslationResource
        required: false
        deprecated: true
        schema:
          default: true
          type: boolean
      - description: 'Optional parameter to specify whether the report should group word count by translation job name.


          Deprecated, use parameter `fields` instead.

          '
        in: query
        name: includeJob
        required: false
        deprecated: true
        schema:
          default: true
          type: boolean
      - description: 'Optional parameter to specify whether the report should group word count by translation job and include reference number in the response.


          Deprecated, use parameter `fields` instead.

          '
        in: query
        name: includeJobReferenceNumber
        required: false
        deprecated: true
        schema:
          default: false
          type: boolean
      - description: "Optional parameter to specify whether the report should group word count by translation job and include job number in the response.                        \nDeprecated, use parameter `fields` instead.\n"
        in: query
        name: includeJobNumber
        required: false
        deprecated: true
        schema:
          default: false
          type: boolean
      - description: 'Optional parameter to specify whether the report should group word count by fuzzy match profile and tier.


          Deprecated, use parameter `fields` instead.

          '
        in: query
        name: includeFuzzyMatchProfile
        required: false
        deprecated: true
        schema:
          default: true
          type: boolean
      - description: 'Optional parameter to specify whether the report should group word count by workflow step uid and name.


          Deprecated, use parameter `fields` instead.

          '
        in: query
        name: includeWorkflowStep
        required: false
        deprecated: true
        schema:
          default: false
          type: boolean
      responses:
        '200':
          description: OK
          content:
            text/csv:
              schema:
                type: string
              examples:
                response:
                  value: Account,Project,Job Uid,Job,Translation Resource,Agency Uid,Agency, Target Language,Workflow Step,Workflow Step Uid,Workflow Step Name, Fuzzy Profile,Fuzzy Breakdown,Word Count,Weighted Words,Character Count Test Account,Test Project,f12ad8e9,Translation Job,Translator 1, Test Agency 1 Uid, Test Agency 1,Spanish (Spain),Translation,123abc456def, Translation,Default,85 - 94.9%,1,1,1
        '400':
          $ref: '#/components/responses/Error400ResponseDefinition'
        '401':
          $ref: '#/components/responses/Error401ResponseDefinition'
        '429':
          $ref: '#/components/responses/Error429ResponseDefinition'
        '500':
          $ref: '#/components/responses/Error500ResponseDefinition'
components:
  schemas:
    Error500Response:
      properties:
        response:
          properties:
            code:
              description: Indicates whether the response was successful or what error has occured.
              enum:
              - GENERAL_ERROR
              - MAINTENANCE_MODE_ERROR
              type: string
            errors:
              items:
                $ref: '#/components/schemas/Error'
              type: array
          required:
          - code
          - errors
          type: object
      required:
      - response
      type: object
    Error400Response:
      type: object
      properties:
        response:
          properties:
            code:
              description: Indicates whether the response was successful or what error has occured.
              enum:
              - VALIDATION_ERROR
              type: string
            errors:
              items:
                $ref: '#/components/schemas/Error'
              type: array
          required:
          - code
          - errors
          type: object
      required:
      - response
    SuccessResponse:
      properties:
        code:
          description: Indicates whether the response was successful or what error has occured.
          enum:
          - SUCCESS
          type: string
      required:
      - code
      type: object
    Error429Response:
      properties:
        response:
          properties:
            code:
              description: Indicates whether the response was successful or what error has occured.
              enum:
              - MAX_OPERATIONS_LIMIT_EXCEEDED
              type: string
            errors:
              items:
                $ref: '#/components/schemas/Error'
              type: array
          required:
          - code
          - errors
          type: object
      required:
      - response
      type: object
    Error401Response:
      properties:
        response:
          properties:
            code:
              description: Indicates whether the response was successful or what error has occured.
              enum:
              - AUTHENTICATION_ERROR
              - AUTHORIZATION_ERROR
              type: string
            errors:
              items:
                $ref: '#/components/schemas/Error'
              type: array
          required:
          - code
          - errors
          type: object
      required:
      - response
      type: object
    Error:
      type: object
      properties:
        key:
          example: general_error
          type: string
        message:
          example: Unexpected server error
          type: string
        details:
          example: {}
          type: object
      required:
      - key
      - message
    WordCountResponse:
      type: object
      required:
      - response
      properties:
        response:
          allOf:
          - $ref: '#/components/schemas/SuccessResponse'
          - properties:
              data:
                properties:
                  items:
                    items:
                      properties:
                        accountName:
                          description: Name of the account
                          type: string
                        accountUid:
                          description: The account’s unique identifier. This can be found in the Smartling Dashboard under Account Settings > API.
                          type: string
                        agencyName:
                          description: Name of the agency that was credited for the words
                          type: string
                        agencyUid:
                          description: The unique identifier of the agency that was credited for the words
                          type: string
                        fuzzyProfileName:
                          description: Name of the fuzzy match profile used
                          type: string
                        fuzzyTier:
                          description: Fuzzy match tier that matches fuzzy score of the processed words
                          type: string
                        jobName:
                          description: Name of the translation job
                          type: string
                        jobUid:
                          description: The unique identifier of the translation job
                          type: string
                        projectId:
                          description: A unique project identifier. This can be found in the Smartling Dashboard under Account Settings > API.
                          type: string
                        projectName:
                          description: Name of the project
                          type: string
                        targetLocaleId:
                          description: Locale ID of the translations
                          type: string
                        targetLocaleName:
                          description: Name of the locale of the translations
                          type: string
                        translationResourceName:
                          description: Name of the translation resource who was credited for the words
                          type: string
                        translationResourceUid:
                          description: The unique identifier of the translation resource who was credited for the words
                          type: string
                        weightedWordCount:
                          description: The number of weighted words processed by a translation resource
                          type: integer
                        wordCount:
                          description: The number of words processed by a translation resource
                          type: integer
                        characterCount:
                          description: The number of characters processed by a translation resource
                          type: integer
                        workflowStepType:
                          description: Type of the workflow step (Translation, Edit, Review) the words transitioned through
                          type: string
                        workflowStepUid:
                          description: Unique identifier of the workflow step the words transitioned through
                          type: string
                        workflowStepName:
                          description: Name of the workflow step the words transitioned through
                          type: string
                      type: object
                    type: array
                  resultsTruncated:
                    description: The flag showing whether all qualified records returned by the response.
                    type: boolean
                type: object
            type: object
      description: A list of report records
  responses:
    Error400ResponseDefinition:
      description: Provided request parameters are invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error400Response'
          examples:
            response:
              value:
                response:
                  code: VALIDATION_ERROR
                  errors:
                  - key: unknown.field
                    message: The field unknown.parameter was not expected. Please consult the documentation to verify the fields you are submitting.
                    details: unknown.parameter
    Error429ResponseDefinition:
      description: Too many simultaneous API requests.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error429Response'
          examples:
            response:
              value:
                response:
                  code: MAX_OPERATIONS_LIMIT_EXCEEDED
                  errors:
                  - key: too.many.requests
                    message: The limit of 10 concurrent Smartling file API operations for this project has been exceeded.
    Error500ResponseDefinition:
      description: Unexpected error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error500Response'
    Error401ResponseDefinition:
      description: Provided credentials are not valid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error401Response'
          examples:
            response:
              value:
                response:
                  code: AUTHENTICATION_ERROR
                  errors:
                  - details: {}
                    key: invalid_token
                    message: Invalid token
externalDocs:
  description: Smartling Help Center
  url: https://help.smartling.com