> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lazylocales.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get v1projects config

> Get full project configuration for CLI. Returns source/target locales, removed locales, and AI provider settings. BYOK keys are fetched separately via GET /v1/user/byok/{provider}.



## OpenAPI

````yaml https://hidden-wildcat-614.convex.site/v1/openapi get /v1/projects/{projectId}/config
openapi: 3.0.0
info:
  version: 2.0.0
  title: LazyLocales API
  description: >-
    AI-powered translation management REST API with CLI-first workflow.


    ## Authentication

    All endpoints require `Authorization: Bearer <token>`. Two token types:

    - **Access token** — from `lazylocales login` or user session

    - **Project API token** — prefixed `ll_`, created in project settings for
    CI/CD


    ## Workflow

    Translations are managed via the CLI using local AI translation with models
    like GPT-4o, Claude, Gemini, or Mistral. The dashboard provides read-only
    monitoring and project configuration.


    ## Error Format

    All errors follow: `{ "error": { "code": "ERROR_CODE", "message": "..." } }`
servers:
  - url: https://{deployment}.convex.site
    description: Convex deployment
    variables:
      deployment:
        default: your-deployment
        description: Your Convex deployment name
security: []
tags:
  - name: Projects
    description: Project management endpoints
  - name: Source Files
    description: Source locale file operations
  - name: Locales
    description: Locale status and management
  - name: CLI
    description: CLI config and reporting endpoints
  - name: API Tokens
    description: API token management
paths:
  /v1/projects/{projectId}/config:
    get:
      tags:
        - CLI
      description: >-
        Get full project configuration for CLI. Returns source/target locales,
        removed locales, and AI provider settings. BYOK keys are fetched
        separately via GET /v1/user/byok/{provider}.
      parameters:
        - schema:
            type: string
            minLength: 1
            example: proj_abc123
          required: true
          name: projectId
          in: path
      responses:
        '200':
          description: Project config retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectConfig'
components:
  schemas:
    ProjectConfig:
      type: object
      properties:
        projectId:
          type: string
          example: proj_abc123
        sourceLocale:
          type: string
          minLength: 2
          maxLength: 10
          pattern: ^[a-z]{2,3}(-[A-Z]{2,3})?$/i
          example: en
        targetLocales:
          type: array
          items:
            type: string
            minLength: 2
            maxLength: 10
            pattern: ^[a-z]{2,3}(-[A-Z]{2,3})?$/i
          example:
            - nl-NL
            - de
            - fr-FR
        removedLocales:
          type: array
          items:
            type: string
            minLength: 2
            maxLength: 10
            pattern: ^[a-z]{2,3}(-[A-Z]{2,3})?$/i
          example:
            - es
        ai:
          type: object
          properties:
            provider:
              type: string
              example: openai
            model:
              type: string
              example: gpt-4o
            temperature:
              type: number
              example: 0.3
          required:
            - provider
            - model
            - temperature
      required:
        - projectId
        - sourceLocale
        - targetLocales
        - removedLocales
        - ai

````