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

# List Projects

> Retrieve a list of projects for the authenticated account.



## OpenAPI

````yaml /openapi/phrase-studio.json get /v1/projects
openapi: 3.0.3
info:
  title: Studio API
  description: >-
    API for creating projects and reading transcription, translation, and
    dubbing results.
  version: 1.0.0
servers:
  - url: https://api.studio.us.phrase.com
    description: Production US Environment
  - url: https://api.studio.eu.phrase.com
    description: Production EU Environment
security: []
tags:
  - name: Projects
    description: Manage transcription, translation, and dubbing projects
  - name: Recordings
    description: Access recording status and output data
  - name: Subtitle Profiles
    description: Manage subtitle formatting profiles
  - name: Pronunciations
    description: Manage custom pronunciation rules
  - name: Glossaries
    description: Manage translation glossaries
  - name: Insights
    description: Manage AI-powered insight prompts
  - name: Safe Communications
    description: Access safe communication evaluation templates
paths:
  /v1/projects:
    get:
      tags:
        - Projects
      summary: List Projects
      description: Retrieve a list of projects for the authenticated account.
      operationId: listProjects
      parameters:
        - name: status
          in: query
          required: false
          description: Filter by project status.
          schema:
            type: string
            enum:
              - ALL
              - ARCHIVED
              - PENDING
              - IN_PROGRESS
              - COMPLETED
              - FAILED
            default: ALL
        - name: teamProjects
          in: query
          required: false
          description: If true, include team projects.
          schema:
            type: boolean
            default: false
        - name: search
          in: query
          required: false
          description: Free-text search in project name.
          schema:
            type: string
        - name: page
          in: query
          required: false
          description: Page number (min 1).
          schema:
            type: integer
            minimum: 1
            default: 1
        - name: pageSize
          in: query
          required: false
          description: Items per page (1-1000).
          schema:
            type: integer
            minimum: 1
            maximum: 1000
            default: 1000
      responses:
        '200':
          description: Projects retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: Array of projects
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Project ID
                          example: 01jzmvc20cjq5hj5saa96ttp2x
                        name:
                          type: string
                          description: Project name
                          example: Meeting Recording
                        firstRecordingId:
                          type: string
                          description: First recording ID
                        sourceLanguage:
                          type: string
                          description: Source language code
                        subtitleProfileId:
                          type: string
                          format: uuid
                          description: Subtitle profile ID
                        mediaType:
                          type: string
                          enum:
                            - AUDIO
                            - VIDEO
                            - AUDIO_VIDEO
                          description: Project media type
                        duration:
                          type: number
                          description: Total duration in seconds
                        fileCount:
                          type: number
                          description: Number of files in project
                        owner:
                          type: string
                          description: Owner user or team name
                        accountId:
                          type: string
                          description: Account ID
                        archived:
                          type: boolean
                          description: Whether project is archived
                        status:
                          type: string
                          enum:
                            - ARCHIVED
                            - PENDING
                            - IN_PROGRESS
                            - COMPLETED
                            - FAILED
                          description: Current project status
                          example: IN_PROGRESS
                        recordingTypes:
                          type: array
                          items:
                            type: string
                            enum:
                              - TRANSCRIPTION
                              - TRANSLATION
                              - DUBBING
                              - SUMMARY
                        createdAt:
                          type: string
                          format: date-time
                          description: Project creation timestamp
                        updatedAt:
                          type: string
                          format: date-time
                          description: Project last update timestamp
                      required:
                        - id
                        - name
                        - status
                        - createdAt
                        - updatedAt
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                      pageSize:
                        type: integer
                      total:
                        type: integer
                      totalPages:
                        type: integer
                    required:
                      - page
                      - pageSize
                      - total
                      - totalPages
        '400':
          description: Bad Request (invalid query parameters)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalid_query:
                  summary: Invalid query
                  value:
                    success: false
                    statusCode: 400
                    message: Bad Request
                    timestamp: '2025-01-01T00:00:00.000Z'
        '401':
          description: Unauthorized (invalid API key)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalid_api_key:
                  summary: Invalid API key
                  value:
                    success: false
                    statusCode: 401
                    message: Unauthorized
                    timestamp: '2025-01-01T00:00:00.000Z'
        '403':
          description: Forbidden (access denied)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                forbidden:
                  summary: Access denied
                  value:
                    success: false
                    statusCode: 403
                    message: Access denied
                    timestamp: '2025-01-01T00:00:00.000Z'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                server_error:
                  summary: Unexpected error
                  value:
                    success: false
                    statusCode: 500
                    message: Internal server error
                    timestamp: '2025-01-01T00:00:00.000Z'
      security:
        - apiKeyAuth: []
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        statusCode:
          type: integer
          example: 400
        message:
          type: string
          example: Bad Request
        timestamp:
          type: string
          format: date-time
          example: '2025-01-01T00:00:00.000Z'
      required:
        - success
        - statusCode
        - message
        - timestamp
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key

````