Zoho ArticleTranslation API

The ArticleTranslation API from Zoho — 11 operation(s) for articletranslation.

Documentation

Specifications

Code Examples

Other Resources

OpenAPI Specification

zoho-articletranslation-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Helpcenter ArticleTranslation API
  version: 1.0.0
tags:
- name: ArticleTranslation
paths:
  /api/v1/articles/{id}/translations/{locale}/permalinks:
    get:
      tags:
      - ArticleTranslation
      summary: Get permalinks of translation
      description: This API fetches the primary and secondary permalinks of a translation
      operationId: getArticleTranslationPermalinks
      parameters:
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/locale'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '200':
          $ref: '#/components/responses/permalinksJson'
      security:
      - iam-oauth2-schema:
        - Desk.articles.READ
      x-audience:
      - external-public
  /api/v1/articles/{id}/translations/{locale}/dislike:
    post:
      tags:
      - ArticleTranslation
      summary: Dislike translation
      description: 'This API adds a dislike (a negative reaction) to a translation. '
      operationId: dislikeArticleTranslation
      parameters:
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/locale'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
      security:
      - iam-oauth2-schema:
        - Desk.articles.UPDATE
      x-audience:
      - external-public
  /api/v1/articles/{id}/translations/{locale}/permalinks/add:
    post:
      tags:
      - ArticleTranslation
      summary: Update permalink of translation
      description: This API updates the permalink of a translation and adds the old permalink to the redirection list
      operationId: updateArticleTranslationPermalink
      parameters:
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/locale'
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/updatePermalinkJson'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: '#/components/responses/permalinksJson'
      security:
      - iam-oauth2-schema:
        - Desk.articles.UPDATE
      x-audience:
      - external-public
  /api/v1/articles/{articleId}/translations:
    get:
      tags:
      - ArticleTranslation
      summary: Get translations of an article
      description: This API fetches the available translations of an article.
      operationId: getArticleTranslations
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/from'
      - name: sortBy
        in: query
        description: 'Key that sorts the articles based on a specific attribute: !@createdTime,@! or !@modifiedTime@!'
        required: false
        style: form
        explode: true
        schema:
          type: string
          description: 'Key that sorts the articles based on a specific attribute: !@createdTime,@! or !@modifiedTime@!'
          enum:
          - createdTime
          - modifiedTime
      - $ref: '#/components/parameters/authorId'
      - $ref: '#/components/parameters/translationState'
      - $ref: '#/components/parameters/status'
      - $ref: '#/components/parameters/articleId'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '200':
          $ref: '#/components/responses/articleTranslationListViewWrapper'
      security:
      - iam-oauth2-schema:
        - Desk.articles.READ
      x-audience:
      - external-public
    post:
      tags:
      - ArticleTranslation
      summary: Add translation
      description: This API adds a translated version of an article.
      operationId: createArticleTranslation
      parameters:
      - $ref: '#/components/parameters/articleId'
      - $ref: ./Common.json#/components/parameters/orgId
      - $ref: ./Article.json#/components/parameters/templateId
      requestBody:
        $ref: '#/components/requestBodies/articleTranslationAddJson'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: '#/components/responses/articleTranslationCUDJson'
      security:
      - iam-oauth2-schema:
        - Desk.articles.UPDATE
      x-audience:
      - external-public
  /api/v1/articleTranslations/search:
    get:
      tags:
      - ArticleTranslation
      summary: Search translations
      description: This API searches for the provided string from within the translation of articles.
      operationId: searchArticleTranslations
      parameters:
      - name: duration
        in: query
        description: The articles to be searched based on the time since the article is created. The allowed values are @yesterday@, @last_30_days@, @last_7_days@, @this_week@, @this_month@, @today@
        required: false
        style: form
        explode: true
        schema:
          type: string
          description: The articles to be searched based on the time since the article is created. The allowed values are @yesterday@, @last_30_days@, @last_7_days@, @this_week@, @this_month@, @today@
          enum:
          - yesterday
          - last_30_days
          - last_7_days
          - this_week
          - this_month
          - today
      - name: searchString
        in: query
        description: The text that needs to be searched.
        required: true
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: The text that needs to be searched.
          maxLength: 500
          minLength: 0
      - $ref: '#/components/parameters/isTrashed'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/from'
      - $ref: '#/components/parameters/permission'
      - $ref: '#/components/parameters/tag'
      - $ref: '#/components/parameters/locale'
      - $ref: '#/components/parameters/authorId'
      - $ref: '#/components/parameters/categoryId'
      - $ref: '#/components/parameters/status'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '200':
          $ref: '#/components/responses/faqSearchList'
      security:
      - iam-oauth2-schema:
        - Desk.articles.READ
        - Desk.search.READ
      x-audience:
      - external-public
  /api/v1/articles/{articleId}/translations/{locale}/attachments/{attachmentId}/content:
    get:
      tags:
      - ArticleTranslation
      summary: Download article translation attachment
      description: This API downloads the attachment associated with article translation
      operationId: downloadArticleTranslationAttachment
      parameters:
      - name: inline
        in: query
        description: Display content inline
        required: false
        style: form
        explode: true
        schema:
          type: boolean
          description: ''
      - $ref: '#/components/parameters/articleId'
      - name: attachmentId
        in: path
        description: Article translation attachment id
        required: true
        style: simple
        explode: false
        schema:
          type:
          - string
          - 'null'
          description: ''
          maxLength: 100
          minLength: 0
          pattern: ^([a-zA-Z0-9]{37}|-1)$
      - $ref: '#/components/parameters/locale'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '200':
          $ref: ./Common.json#/components/responses/fileResponse
      security:
      - iam-oauth2-schema:
        - Desk.articles.READ
      x-audience:
      - external-public
  /api/v1/articles/{articleId}/translations/{locale}/moveToTrash:
    post:
      tags:
      - ArticleTranslation
      summary: Trash an article translation
      description: This API moves an article translation to trash.
      operationId: deleteArticleTranslation
      parameters:
      - $ref: '#/components/parameters/articleId'
      - $ref: '#/components/parameters/locale'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
      security:
      - iam-oauth2-schema:
        - Desk.articles.DELETE
      x-audience:
      - external-public
  /api/v1/articles/{articleId}/translations/{locale}:
    patch:
      tags:
      - ArticleTranslation
      summary: Edit translation
      description: This API edits an already translated article.
      operationId: updateArticleTranslation
      parameters:
      - name: createVersion
        in: query
        description: Denotes if a new version is needed
        required: false
        style: form
        explode: true
        schema:
          type:
          - boolean
          - 'null'
      - $ref: '#/components/parameters/articleId'
      - $ref: '#/components/parameters/locale'
      - $ref: ./Common.json#/components/parameters/orgId
      - $ref: ./Article.json#/components/parameters/templateId
      requestBody:
        $ref: '#/components/requestBodies/articleTranslationUpdateJson'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: '#/components/responses/articleTranslationCUDJson'
      security:
      - iam-oauth2-schema:
        - Desk.articles.UPDATE
      x-audience:
      - external-public
  /api/v1/articles/{id}/translations/{locale}:
    get:
      tags:
      - ArticleTranslation
      summary: Get article translation
      description: This API fetches a specific translation of an article.
      operationId: getArticleTranslation
      parameters:
      - $ref: '#/components/parameters/version'
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/locale'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '200':
          $ref: '#/components/responses/articleTranslationDetailViewObject'
      security:
      - iam-oauth2-schema:
        - Desk.articles.READ
      x-audience:
      - external-public
  /api/v1/articles/{id}/translations/{locale}/like:
    post:
      tags:
      - ArticleTranslation
      summary: Like translation
      description: This API adds a like (a positive reaction) to a translation
      operationId: likeArticleTranslation
      parameters:
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/locale'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
      security:
      - iam-oauth2-schema:
        - Desk.articles.UPDATE
      x-audience:
      - external-public
  /api/v1/articleTranslations/searchByTag:
    get:
      tags:
      - ArticleTranslation
      summary: Search Tags
      description: This API searches for the provided string from within the translation of articles.
      operationId: searchArticleTranslationByTag
      parameters:
      - name: include
        in: query
        description: 'The search of the article includes countInfo or availableLocaleTranslations. The allowed values are countInfo or availableLocaleTranslations . Note : countInfo - Search the most popular. articlesavailableLocaleTranslations - search from the provided language.'
        required: false
        style: simple
        explode: true
        schema:
          type: array
          description: 'The search of the article includes countInfo or availableLocaleTranslations.  The allowed values are @countInfo@ or @availableLocaleTranslations@ . Note : @countInfo@ - Search the most popular. @articlesavailableLocaleTranslations@ - search from the provided language.'
          items:
            type: string
            enum:
            - countInfo
            - availableLocaleTranslations
          uniqueItems: true
      - $ref: '#/components/parameters/isTrashed'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/from'
      - $ref: '#/components/parameters/permission'
      - $ref: '#/components/parameters/tag'
      - $ref: '#/components/parameters/locale'
      - $ref: '#/components/parameters/authorId'
      - $ref: '#/components/parameters/categoryId'
      - $ref: '#/components/parameters/status'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '200':
          $ref: '#/components/responses/faqSearchByTagList'
      security:
      - iam-oauth2-schema:
        - Desk.articles.READ
        - Desk.search.READ
      x-audience:
      - external-public
components:
  responses:
    faqSearchList:
      description: faqSearchList template definitions
      content:
        application/json:
          schema:
            allOf:
            - type: object
              properties:
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      countInfo:
                        type:
                        - 'null'
                        - array
                        items:
                          type:
                          - 'null'
                          - object
                          additionalProperties: false
                          maxProperties: 5
                          minProperties: 5
                          properties:
                            duration:
                              type:
                              - 'null'
                              - array
                              items:
                                type:
                                - 'null'
                                - object
                                additionalProperties: false
                                maxProperties: 2
                                minProperties: 2
                                properties:
                                  name:
                                    type:
                                    - string
                                    - 'null'
                                    enum:
                                    - yesterday
                                    - last_30_days
                                    - last_7_days
                                    - this_week
                                    - this_month
                                    - today
                                    maxLength: 100
                                    minLength: 0
                                  count:
                                    type:
                                    - string
                                    - 'null'
                                    - integer
                                    format: int64
                                    pattern: ([0-9]+)
                                required:
                                - count
                                - name
                              uniqueItems: false
                            tag:
                              type:
                              - 'null'
                              - array
                              items:
                                type:
                                - 'null'
                                - object
                                additionalProperties: false
                                maxProperties: 2
                                minProperties: 2
                                properties:
                                  name:
                                    type:
                                    - string
                                    - 'null'
                                    maxLength: 100
                                    minLength: 0
                                    pattern: '[a-z0-9\_\-\+\%\P{InBasicLatin}\s]+'
                                  count:
                                    type:
                                    - string
                                    - 'null'
                                    - integer
                                    format: int64
                                    pattern: ([0-9]+)
                                required:
                                - count
                                - name
                              uniqueItems: false
                            category:
                              type:
                              - 'null'
                              - array
                              items:
                                type:
                                - 'null'
                                - object
                                additionalProperties: false
                                maxProperties: 2
                                minProperties: 2
                                properties:
                                  count:
                                    type:
                                    - string
                                    - 'null'
                                    - integer
                                    format: int64
                                    pattern: ([0-9]+)
                                  id:
                                    type:
                                    - string
                                    - 'null'
                                    - integer
                                    format: int64
                                    pattern: ([0-9]+)
                                required:
                                - count
                                - id
                              uniqueItems: false
                            totalCount:
                              type:
                              - string
                              - 'null'
                              - integer
                              format: int32
                              pattern: ([0-9]+)
                            rootCategory:
                              type:
                              - 'null'
                              - array
                              items:
                                type:
                                - 'null'
                                - object
                                additionalProperties: false
                                maxProperties: 2
                                minProperties: 2
                                properties:
                                  count:
                                    type:
                                    - string
                                    - 'null'
                                    - integer
                                    format: int64
                                    pattern: ([0-9]+)
                                  id:
                                    type:
                                    - string
                                    - 'null'
                                    - integer
                                    format: int64
                                    pattern: ([0-9]+)
                                required:
                                - count
                                - id
                              uniqueItems: false
                          required:
                          - category
                          - duration
                          - rootCategory
                          - tag
                          - totalCount
                        uniqueItems: false
                      availableLocaleTranslations:
                        type:
                        - 'null'
                        - object
                        additionalProperties: false
                        maxProperties: 54
                        minProperties: 54
                        properties:
                          modifiedTime:
                            type:
                            - string
                            - 'null'
                            maxLength: 100
                            minLength: 0
                            pattern: (((19|20)\d\d)[-/.]{1}(0?[1-9]|1[012])[-/.]{1}(0?[1-9]|[12][0-9]|3[01])(T)([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]([/.][\d]{0,3})?(Z))
                          departmentId:
                            type:
                            - string
                            - 'null'
                            - integer
                            format: int64
                            pattern: ([0-9]+)
                          modifierId:
                            type:
                            - string
                            - 'null'
                            - integer
                            format: int64
                            pattern: ([0-9]+)
                          dislikeCount:
                            type:
                            - string
                            - 'null'
                            - integer
                            format: int64
                            pattern: ([0-9]+)
                          likeCount:
                            type:
                            - string
                            - 'null'
                            - integer
                            format: int64
                            pattern: ([0-9]+)
                          ownerId:
                            type:
                            - string
                            - 'null'
                            - integer
                            format: int64
                            pattern: ([0-9]+)
                          latestVersionModifierId:
                            type:
                            - string
                            - 'null'
                            - integer
                            format: int64
                            pattern: ([0-9]+)
                          translationState:
                            type:
                            - string
                            - 'null'
                            enum:
                            - OUTDATED
                            - UP-TO-DATE
                            - AUTO-TRANSLATE INPROGRESS
                            - AUTO-TRANSLATE FAILED
                            maxLength: 100
                            minLength: 0
                          isTrashed:
                            type:
                            - boolean
                            - 'null'
                          isLocked:
                            type:
                            - boolean
                            - 'null'
                          createdTime:
                            type:
                            - string
                            - 'null'
                            maxLength: 100
                            minLength: 0
                            pattern: (((19|20)\d\d)[-/.]{1}(0?[1-9]|1[012])[-/.]{1}(0?[1-9]|[12][0-9]|3[01])(T)([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]([/.][\d]{0,3})?(Z))
                          id:
                            type:
                            - string
                            - 'null'
                            - integer
                            format: int64
                            pattern: ([0-9]+)
                          translationSource:
                            type:
                            - 'null'
                            - object
                            additionalProperties: false
                            maxProperties: 2
                            minProperties: 2
                            properties:
                              locale:
                                type:
                                - string
                                - 'null'
                                enum:
                                - en
                                - ja
                                - zh
                                - es
                                - de
                                - fr
                                - tr
                                - ru
                                - pt
                                - it
                                - nl
                                - da
                                - sv
                                - pl
                                - ar
                                - he
                                - af
                                - cs
                                - fr-ca
                                - bg
                                - fi
                                - el
                                - hu
                                - id
                                - nb
                                - ro
                                - th
                                - uk
                                - vi
                                - ur
                                - hi
                                - te
                                - kn
                                - ta
                                - mr
                                - ko
                                - fa
                                - bn
                                - gu
                                - ms
                                - ml
                                - en-gb
                                - sk
                                - hr
                                - sl
                                - zh_TW
                                - zh-tw
                                - ca
                                - ka
                                - kk
                                - my
                                - km
                                - pt-br
                                maxLength: 100
                                minLength: 0
                                pattern: ([a-zA-Z]{2,4}([-_][a-zA-Z]{2})?)
                              version:
                                type:
                                - string
                                - 'null'
                                maxLength: 100
                                minLength: 0
                            required:
                            - locale
                            - version
                          latestVersionStatus:
                            type:
                            - string
                            - 'null'
                            enum:
                            - Published
                            - Draft
                            - Review
                            - Expired
                            - Unpublished
                            - Auto-translate Pending
                            maxLength: 100
                            minLength: 0
                          author:
                            type:
                            - 'null'
                            - object
                            additionalProperties: false
                            maxProperties: 5
                            minProperties: 5
                            properties:
                              photoURL:
                                type:
                                - string
                                - 'null'
                                maxLength: 100
                                minLength: 0
                                pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
                              name:
                                type:
                                - string
                                - 'null'
                                maxLength: 50
                                minLength: 0
                              id:
                                type:
                                - string
                                - 'null'
                                - integer
                                format: int64
                                pattern: ([0-9]+)
                              status:
                                type:
                                - string
                                - 'null'
                                enum:
                                - ACTIVE
                                - DISABLED
                                - LICENSE_DOWNGRADED
                                - DELETED
                                - ANONYMIZED
                                - CLOSED
                                maxLength: 100
                                minLength: 0
                              zuid:
                                type:
                                - string
                                - 'null'
                                - integer
                                format: int32
                                pattern: ([0-9]+)
                            required:
                            - id
                            - name
                            - photoURL
                            - status
                            - zuid
                          reviewedBy:
                            type:
                            - 'null'
                            - object
                            additionalProperties: false
                            maxProperties: 5
                            minProperties: 5
                            properties:
                              photoURL:
                                type:
                                - string
                                - 'null'
                                maxLength: 100
                                minLength: 0
                                pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
                              name:
                                type:
                                - string
                                - 'null'
                                maxLength: 50
                                minLength: 0
                              id:
                                type:
                                - string
                                - 'null'
                                - integer
                                format: int64
                                pattern: ([0-9]+)
                              status:
                                type:
                                - string
                                - 'null'
                                enum:
                                - ACTIVE
                                - DISABLED
                                - LICENSE_DOWNGRADED
                                - DELETED
                                - ANONYMIZED
                                - CLOSED
                                maxLength: 100
                                minLength: 0
                              zuid:
                                type:
                                - string
                                - 'null'
                                - integer
                                format: int32
                                pattern: ([0-9]+)
                            required:
                            - id
                            - name
                            - photoURL
                            - status
                            - zuid
                          currentVersion:
                            type:
                            - string
                            - 'null'
                            maxLength: 100
                            minLength: 0
                          tags:
                            type:
                            - 'null'
                            - array
                            items:
                              type:
                              - string
                              - 'null'
                              maxLength: 100
                              minLength: 0
          

# --- truncated at 32 KB (152 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoho/refs/heads/main/openapi/zoho-articletranslation-api-openapi.yml