openapi: 3.1.0 info: title: SimpleLocalize Customers Projects 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: Projects description: Manage translation projects paths: /api/v2/projects: get: operationId: listProjects summary: List Projects description: Retrieves all existing projects with their metadata, language configurations, and translation statistics. Requires Personal Token authentication. tags: - Projects security: - BearerAuth: [] responses: '200': description: Projects retrieved successfully content: application/json: schema: $ref: '#/components/schemas/ProjectListResponse' '401': description: Unauthorized - invalid or missing Personal Token post: operationId: createProject summary: Create Project description: Creates a new translation project and returns project details including API tokens and initial configuration. Requires Personal Token authentication. tags: - Projects security: - BearerAuth: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateProjectRequest' responses: '200': description: Project created successfully content: application/json: schema: $ref: '#/components/schemas/ProjectResponse' '400': description: Invalid request body '401': description: Unauthorized - invalid or missing Personal Token components: schemas: ProjectListResponse: type: object properties: status: type: integer message: type: string data: type: array items: $ref: '#/components/schemas/Project' ProjectResponse: type: object properties: status: type: integer message: type: string data: $ref: '#/components/schemas/Project' CreateProjectRequest: type: object required: - name properties: name: type: string description: Project name Project: type: object properties: id: type: string description: Project unique identifier name: type: string description: Project display name apiKey: type: string description: Project-specific API key createdAt: type: string format: date-time languages: type: array items: $ref: '#/components/schemas/Language' translationCount: type: integer 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/