Algebras AI Inc. Localization API

The Localization API from Algebras AI Inc. — 3 operation(s) for localization.

OpenAPI Specification

algebras-ai-inc-localization-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Algebras Authentication Localization API
  version: '1.0'
servers:
- url: https://platform.algebras.ai/api/v1
- url: http://localhost:3000/api/v1
- url: https://beta.algebras.ai/api/v1
security:
- APIKeyHeader: []
tags:
- name: Localization
paths:
  /translation/localization-table:
    post:
      tags:
      - Localization
      summary: Generate localization table (async)
      description: Creates a new localization table job. This is an asynchronous operation that returns immediately with a job ID and status.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: CSV file to be localized (required)
                glossaryId:
                  type: string
                  description: Optional glossary ID to use for localization
                  default: ''
                prompt:
                  type: string
                  description: Optional prompt to guide localization. This parameter is deprecated and will not affect translation results. To use prompts during table localization, please provide them right in the table in column prompt (check last documentation on page https://platform.algebras.ai/translation/localization)
                  default: ''
                isAgentic:
                  type: boolean
                  description: Use agentic mode for localization
                  default: false
                ignoreCache:
                  type: boolean
                  description: Ignore previous translation results
                  default: false
              required:
              - file
      responses:
        '200':
          description: Localization job created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - ok
                  timestamp:
                    type: string
                    format: date-time
                  data:
                    $ref: '#/components/schemas/LocalizationResult'
        '400':
          description: Bad request - invalid file format or missing required fields
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
    get:
      tags:
      - Localization
      summary: Get localization history
      description: Retrieves the history of all localization jobs for the organization, ordered by creation date (newest first).
      responses:
        '200':
          description: Localization history retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - ok
                  timestamp:
                    type: string
                    format: date-time
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/LocalizationHistoryItem'
        '401':
          description: Unauthorized
        '500':
          description: Internal server error
  /translation/localization-table/{id}:
    get:
      tags:
      - Localization
      summary: Get localization by ID
      description: Retrieves a specific localization job by its ID. If status is READY, includes a signed download URL.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        description: Unique identifier of the localization job
      responses:
        '200':
          description: Localization retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - ok
                  timestamp:
                    type: string
                    format: date-time
                  data:
                    allOf:
                    - $ref: '#/components/schemas/LocalizationHistoryItem'
                    - type: object
                      properties:
                        downloadUrl:
                          type: string
                          format: uri
                          description: Signed URL for downloading the file (only present when status is READY, expires in 60 minutes)
        '401':
          description: Unauthorized
        '404':
          description: Localization not found
        '500':
          description: Internal server error
  /translation/localization-table/{id}/download:
    get:
      tags:
      - Localization
      summary: Get download URL for localization file
      description: Generates a signed URL for downloading the completed localization file. The URL expires in 60 minutes. Only available for files with READY status.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
        description: Unique identifier of the localization job
      responses:
        '200':
          description: Download URL generated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - ok
                  timestamp:
                    type: string
                    format: date-time
                  data:
                    $ref: '#/components/schemas/DownloadUrl'
        '400':
          description: File is not ready for download
        '401':
          description: Unauthorized
        '404':
          description: Localization not found or file not found in storage
        '500':
          description: Internal server error
components:
  schemas:
    TranslationStatus:
      type: string
      enum:
      - PENDING
      - READY
      - ERROR
      description: Status of the translation/localization job
    LocalizationResult:
      type: object
      required:
      - success
      - message
      - localizationId
      - status
      properties:
        success:
          type: boolean
          description: Whether the localization request was successful
        message:
          type: string
          description: Response message
        localizationId:
          type: string
          description: Unique identifier for the localization job
        status:
          $ref: '#/components/schemas/TranslationStatus'
    LocalizationHistoryItem:
      type: object
      required:
      - id
      - status
      - name
      - fileKey
      - createdAt
      properties:
        id:
          type: string
          description: Unique identifier for the localization
        status:
          $ref: '#/components/schemas/TranslationStatus'
        name:
          type: string
          description: Name of the localization file
        fileKey:
          type: string
          description: Storage key for the file
        createdAt:
          type: string
          format: date-time
          description: When the localization was created
    DownloadUrl:
      type: object
      required:
      - url
      properties:
        url:
          type: string
          format: uri
          description: Signed URL for downloading the file (expires in 60 minutes)
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-Api-Key
externalDocs:
  url: https://docs.algebras.ai