OpenAPI Specification
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/