> ## 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
  - name: Subtitles
    description: Write subtitle segments for a recording
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: >-
            When true, list team projects — projects shared with you, plus
            projects made public within your organization (this includes your
            own public projects). Your own private (unshared) projects are not
            team projects and are not returned when this flag is set; use the
            default listing (flag omitted) to retrieve them.
          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

````