SimpleLocalize Languages API

Manage project languages

OpenAPI Specification

simplelocalize-languages-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: SimpleLocalize Customers Languages API
  description: The SimpleLocalize API is a REST API for managing translations, languages, projects, and customers. It enables developers to create, read, update, and delete translations programmatically, import and export translation files in 30+ formats, auto-translate using DeepL, Google Translate, or OpenAI, and publish translations to CDN for use in web, mobile, and backend applications.
  version: v2
  contact:
    name: SimpleLocalize Support
    url: https://simplelocalize.io/contact/
  termsOfService: https://simplelocalize.io/terms-of-service/
  license:
    name: Commercial
    url: https://simplelocalize.io/terms-of-service/
servers:
- url: https://api.simplelocalize.io
  description: SimpleLocalize Production API
security:
- ApiKeyAuth: []
tags:
- name: Languages
  description: Manage project languages
paths:
  /api/v1/languages:
    get:
      operationId: listLanguages
      summary: List Languages
      description: Retrieves all languages configured in the project.
      tags:
      - Languages
      responses:
        '200':
          description: Languages retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LanguageListResponse'
        '401':
          description: Unauthorized - invalid or missing API key
    post:
      operationId: createLanguage
      summary: Create Language
      description: Creates a new language in the project with a unique language key.
      tags:
      - Languages
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLanguageRequest'
      responses:
        '200':
          description: Language created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LanguageResponse'
        '400':
          description: Invalid request or duplicate language key
        '401':
          description: Unauthorized - invalid or missing API key
  /api/v1/languages/{languageKey}:
    patch:
      operationId: updateLanguage
      summary: Update Language
      description: Modifies an existing language's key or display name.
      tags:
      - Languages
      parameters:
      - name: languageKey
        in: path
        required: true
        description: The language identifier to update
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateLanguageRequest'
      responses:
        '200':
          description: Language updated successfully
        '401':
          description: Unauthorized - invalid or missing API key
        '404':
          description: Language not found
    delete:
      operationId: deleteLanguage
      summary: Delete Language
      description: Removes a language from the project. This also removes all translations for the given language.
      tags:
      - Languages
      parameters:
      - name: languageKey
        in: path
        required: true
        description: The language identifier to delete
        schema:
          type: string
      responses:
        '200':
          description: Language deleted successfully
        '401':
          description: Unauthorized - invalid or missing API key
        '404':
          description: Language not found
components:
  schemas:
    LanguageResponse:
      type: object
      properties:
        status:
          type: integer
        message:
          type: string
        data:
          $ref: '#/components/schemas/Language'
    LanguageListResponse:
      type: object
      properties:
        status:
          type: integer
        message:
          type: string
        data:
          type: array
          items:
            $ref: '#/components/schemas/Language'
    UpdateLanguageRequest:
      type: object
      properties:
        key:
          type: string
          description: New language key
        name:
          type: string
          description: New language display name
    CreateLanguageRequest:
      type: object
      required:
      - key
      properties:
        key:
          type: string
          description: Unique language key (max 20 characters)
          maxLength: 20
        name:
          type: string
          description: Language display name (max 200 characters)
          maxLength: 200
    Language:
      type: object
      properties:
        key:
          type: string
          description: Unique language identifier (max 20 chars)
        name:
          type: string
          description: Display name for the language (max 200 chars)
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-SimpleLocalize-Token
      description: Project API key from Settings > Credentials > API Key
    BearerAuth:
      type: http
      scheme: bearer
      description: Personal Token for Projects API. Generated in account settings.
externalDocs:
  description: SimpleLocalize API Documentation
  url: https://simplelocalize.io/docs/api/get-started/