---
openapi: "3.0.0"
info:
  title: "Translation API"
  description: "This API allows 3rd party developers to translate item titles."
  contact:
    name: "eBay Inc,"
  license:
    name: "eBay API License Agreement"
    url: "https://developer.ebay.com/join/api-license-agreement"
  version: "v1_beta.1.6"
servers:
- url: "https://api.ebay.com{basePath}"
  description: "Production"
  variables:
    basePath:
      default: "/commerce/translation/v1_beta"
paths:
  /translate:
    post:
      tags:
      - "language"
      description: "This method translates listing title and listing description text\
        \ from one language into another. For a full list of supported language translations,\
        \ see the <a href=\"/develop/guides-v2/other-apis/other-apis-guide#supported-languages\"\
        target=\"_blank \">table</a>."
      operationId: "translate"
      parameters:
      - name: "Content-Type"
        in: "header"
        description: "This header indicates the format of the request body provided\
          \ by the client. Its value should be set to <b>application/json</b>. <br><br>\
          \ For more information, refer to <a href=\"/api-docs/static/rest-request-components.html#HTTP\"\
          \ target=\"_blank \">HTTP request headers</a>."
        required: true
        schema:
          type: "string"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TranslateRequest"
        required: true
      responses:
        "200":
          description: "OK"
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TranslateResponse"
        "400":
          description: "Bad Request"
          x-response-codes:
            errors:
              110001:
                domain: "API_TRANSLATION"
                category: "REQUEST"
                description: "From language is invalid, missing or not supported.\
                  \ For more information, see the API call reference documentation."
              110003:
                domain: "API_TRANSLATION"
                category: "REQUEST"
                description: "Context is not supported. For more information, see\
                  \ the API call reference documentation."
              110002:
                domain: "API_TRANSLATION"
                category: "REQUEST"
                description: "To language is invalid, missing or not supported. For\
                  \ more information, see the API call reference documentation."
              110005:
                domain: "API_TRANSLATION"
                category: "REQUEST"
                description: "Maximum length of input text reached. For more information,\
                  \ see the API call reference documentation."
              110004:
                domain: "API_TRANSLATION"
                category: "REQUEST"
                description: "Maximum number of input text reached. For more information,\
                  \ see the API call reference documentation."
              110007:
                domain: "API_TRANSLATION"
                category: "REQUEST"
                description: "Markups are not supported in input texts for title translation\
                  \ context."
              110006:
                domain: "API_TRANSLATION"
                category: "REQUEST"
                description: "Unsupported from and to combination."
              110008:
                domain: "API_TRANSLATION"
                category: "REQUEST"
                description: "Input text missing."
        "500":
          description: "Internal Server Error"
          x-response-codes:
            errors:
              110000:
                domain: "API_TRANSLATION"
                category: "APPLICATION"
                description: "There was a problem with an eBay internal system or\
                  \ process. Contact eBay developer support for assistance."
      security:
      - api_auth:
        - "https://api.ebay.com/oauth/api_scope"
components:
  schemas:
    Error:
      type: "object"
      properties:
        category:
          type: "string"
          description: "Identifies the type of erro."
        domain:
          type: "string"
          description: "Name for the primary system where the error occurred. This\
            \ is relevant for application errors."
        errorId:
          type: "integer"
          description: "A unique number to identify the error."
          format: "int32"
        inputRefIds:
          type: "array"
          description: "An array of request elements most closely associated to the\
            \ error."
          items:
            type: "string"
        longMessage:
          type: "string"
          description: "A more detailed explanation of the error."
        message:
          type: "string"
          description: "Information on how to correct the problem, in the end user's\
            \ terms and language where applicable."
        outputRefIds:
          type: "array"
          description: "An array of request elements most closely associated to the\
            \ error."
          items:
            type: "string"
        parameters:
          type: "array"
          description: "An array of name/value pairs that describe details the error\
            \ condition. These are useful when multiple errors are returned."
          items:
            $ref: "#/components/schemas/ErrorParameter"
        subdomain:
          type: "string"
          description: "Further helps indicate which subsystem the error is coming\
            \ from. System subcategories include: Initialization, Serialization, Security,\
            \ Monitoring, Rate Limiting, etc."
      description: "This type defines the fields that can be returned in an error."
    ErrorParameter:
      type: "object"
      properties:
        name:
          type: "string"
          description: "The object of the error."
        value:
          type: "string"
          description: "The value of the object."
    TranslateRequest:
      type: "object"
      properties:
        from:
          type: "string"
          description: "The language of the input text to be translated. Not all <b>LanguageEnum</b>\
            \ values are supported in this field. For a full list of supported language\
            \ pairings, see the Supported languages <a href=\"/develop/guides-v2/other-apis/other-apis-guide#supported-languages\"\
            target=\"_blank \">table</a>. For implementation help, refer to <a href='https://developer.ebay.com/api-docs/commerce/translation/types/api:LanguageEnum'>eBay\
            \ API documentation</a>"
        text:
          type: "array"
          description: "The input text to translate. The maximum number of characters\
            \ permitted is determined by the <b>translationContext</b> value:<ul><li><code>ITEM_TITLE</code>:\
            \ 1000 characters maximum</li><li><code>ITEM_DESCRIPTION</code>: 20,000\
            \ characters maximum.<br><span class=\"tablenote\"><b>Note:</b> When translating\
            \ <code>ITEM_DESCRIPTION</code> text, HTML/CSS markup and links can be\
            \ included and will not count toward this 20,000 character limit.</span></li></ul><span\
            \ class=\"tablenote\"><b>Note:</b> Currently, only one input string can\
            \ be translated per API call. Support for multiple continuous text strings\
            \ is expected in the future.</span>"
          items:
            type: "string"
        to:
          type: "string"
          description: "The target language for the translation of the input text.\
            \ Not all <b>LanguageEnum</b> values are supported in this field. For\
            \ a full list of supported language pairings, see the Supported languages\
            \ <a href=\"/develop/guides-v2/other-apis/other-apis-guide#supported-languages\"\
            target=\"_blank \">table</a>. For implementation help, refer to <a href='https://developer.ebay.com/api-docs/commerce/translation/types/api:LanguageEnum'>eBay\
            \ API documentation</a>"
        translationContext:
          type: "string"
          description: "Input the listing entity to be translated.<br><br><b>Valid\
            \ Values:</b> <code>ITEM_TITLE</code> and <code>ITEM_DESCRIPTION</code></p>\
            \ For implementation help, refer to <a href='https://developer.ebay.com/api-docs/commerce/translation/types/api:TranslationContextEnum'>eBay\
            \ API documentation</a>"
      description: "This is the base type of the <b>translate</b> method request payload."
    TranslateResponse:
      type: "object"
      properties:
        from:
          type: "string"
          description: "The enumeration value indicates the language of the input\
            \ text. For implementation help, refer to <a href='https://developer.ebay.com/api-docs/commerce/translation/types/api:LanguageEnum'>eBay\
            \ API documentation</a>"
        to:
          type: "string"
          description: "The enumeration value indicates the language of the translated\
            \ text. For implementation help, refer to <a href='https://developer.ebay.com/api-docs/commerce/translation/types/api:LanguageEnum'>eBay\
            \ API documentation</a>"
        translations:
          type: "array"
          description: "An array showing the input and translated text. Only one input\
            \ string can be translated at this time. Support for multiple continuous\
            \ text strings is expected in the future."
          items:
            $ref: "#/components/schemas/Translation"
      description: "This is the base type of the <b>translate</b> method response\
        \ payload."
    Translation:
      type: "object"
      properties:
        originalText:
          type: "string"
          description: "The original text, in the language specified in the <b>from</b>\
            \ field, that was input into the <b>text</b> field in the request."
        translatedText:
          type: "string"
          description: "The translation of the original text into the language specified\
            \ in the <b>to</b> field."
      description: "This type is used by the <b>translations</b> array, which shows\
        \ the original text supplied by the user in the request payload, and the text\
        \ translated by eBay.<br><br>Only one input string can be translated at this\
        \ time. Support for multiple continuous text strings is expected in the future."
  securitySchemes:
    api_auth:
      type: "oauth2"
      description: "The security definitions for this API. Please check individual\
        \ operations for applicable scopes."
      flows:
        clientCredentials:
          tokenUrl: "https://api.ebay.com/identity/v1/oauth2/token"
          scopes:
            https://api.ebay.com/oauth/api_scope: "View public data from eBay"
