openapi: 3.0.1 info: title: Localazy Export Projects API description: REST API for the Localazy localization and translation management platform. Import and upload source content, export and download translated files, list files and their keys, read project languages, and manage projects. All endpoints are relative to https://api.localazy.com and authenticated with a Bearer token (project, translation, or organization token). termsOfService: https://localazy.com/terms contact: name: Localazy Support email: team@localazy.com url: https://localazy.com/docs/api/introduction version: '1.0' servers: - url: https://api.localazy.com security: - bearerAuth: [] tags: - name: Projects description: List and create projects, and read project languages. paths: /projects: get: operationId: listProjects tags: - Projects summary: List projects description: Returns the projects accessible to the supplied token. A project token returns the single associated project; an organization token returns all organization projects. parameters: - name: organization in: query description: When true, includes information about the owning organization. required: false schema: type: boolean - name: languages in: query description: When true, includes the project languages and their translation statistics. required: false schema: type: boolean responses: '200': description: A list of projects. content: application/json: schema: type: array items: $ref: '#/components/schemas/Project' '401': description: Missing or invalid authentication token. post: operationId: createProject tags: - Projects summary: Create a project description: Creates a new project under an organization. Requires an organization token. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateProjectRequest' responses: '200': description: The newly created project. content: application/json: schema: $ref: '#/components/schemas/CreateProjectResponse' '401': description: Missing or invalid authentication token. components: schemas: Project: type: object properties: id: type: string description: Unique project identifier. orgId: type: string description: Organization identifier. name: type: string slug: type: string image: type: string url: type: string description: type: string type: type: string description: Project visibility - public, private, or restricted. tone: type: string description: Project tone - formal, informal, or not_specified. role: type: string description: Current user's role on the project. sourceLanguage: type: integer description: Source language identifier. organization: type: object description: Feature availability and key limits for the organization. languages: type: array description: Language objects with translation statistics (when languages=true). items: $ref: '#/components/schemas/Language' CreateProjectResponse: type: object properties: projectId: type: string description: Identifier of the newly created project. CreateProjectRequest: type: object required: - name properties: name: type: string description: Project name. slug: type: string description: Project slug; auto-generated if omitted. description: type: string default: '' sourceLanguage: type: string default: en type: type: string default: restricted description: public or restricted. tone: type: string default: not_specified useShareTM: type: boolean default: true Language: type: object properties: id: type: integer code: type: string description: Language code (for example en, cs, pt-BR). name: type: string rtl: type: boolean progress: type: integer description: Translation completion percentage. securitySchemes: bearerAuth: type: http scheme: bearer description: 'Authenticate with the header `Authorization: Bearer {token}`. Tokens may be a project token (read/write to one project), a translation token (AI translation only), or an organization token (organization scope, by request).'