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

# Get Project Tree

> Expand a project into its datasets, snapshots, fine-tuning jobs, and experiments.



## OpenAPI

````yaml GET /api/v1/public/projects/{projectId}
openapi: 3.1.0
info:
  version: 0.0.1
  title: Prem Studio API
  description: Studio autofinetuning agent API
servers:
  - url: http://studio.premai.io
    description: Current environment
  - url: https://studio.premai.io
    description: Production server
security:
  - bearerAuth: []
paths:
  /api/v1/public/projects/{projectId}:
    get:
      tags:
        - Public Projects
      description: Get complete project tree with datasets, snapshots, and finetuning jobs
      operationId: projects.getTree
      parameters:
        - schema:
            type: string
            format: uuid
          required: true
          name: projectId
          in: path
      responses:
        '200':
          description: Project tree
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProjectTreeResponse'
        '404':
          description: Project not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    GetProjectTreeResponse:
      type: object
      properties:
        project:
          $ref: '#/components/schemas/ProjectNode'
      required:
        - project
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
      required:
        - error
    ProjectNode:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        type:
          type: string
          enum:
            - project
        children:
          type: array
          items:
            $ref: '#/components/schemas/DatasetNode'
      required:
        - id
        - name
        - type
    DatasetNode:
      type: object
      properties:
        id:
          type: string
          format: uuid
        label:
          type: string
        type:
          type: string
          enum:
            - dataset
        status:
          type: string
          enum:
            - processing
            - completed
            - failed
        metadata:
          type: object
          properties:
            id:
              type: string
              format: uuid
            datapoints_count:
              type: number
          required:
            - id
            - datapoints_count
        children:
          type: array
          items:
            $ref: '#/components/schemas/SnapshotNode'
      required:
        - id
        - label
        - type
        - status
        - metadata
    SnapshotNode:
      type: object
      properties:
        id:
          type: string
          format: uuid
        label:
          type: string
        type:
          type: string
          enum:
            - snapshot
        metadata:
          type: object
          properties:
            id:
              type: string
              format: uuid
            training_count:
              type: number
            validation_count:
              type: number
            created_at:
              type: string
          required:
            - id
            - training_count
            - validation_count
            - created_at
        children:
          type: array
          items:
            $ref: '#/components/schemas/FinetuningJobNode'
      required:
        - id
        - label
        - type
        - metadata
    FinetuningJobNode:
      type: object
      properties:
        id:
          type: string
          format: uuid
        label:
          type: string
        type:
          type: string
          enum:
            - finetuning-job
        status:
          type: string
          enum:
            - processing
            - completed
            - failed
        metadata:
          type: object
          properties:
            id:
              type: string
              format: uuid
            reasoning:
              type: boolean
          required:
            - id
            - reasoning
        children:
          type: array
          items:
            $ref: '#/components/schemas/ExperimentNode'
      required:
        - id
        - label
        - type
        - status
        - metadata
    ExperimentNode:
      type: object
      properties:
        id:
          type: string
          format: uuid
        label:
          type: string
        type:
          type: string
          enum:
            - experiment
        status:
          type: string
          enum:
            - pending
            - queued
            - running
            - deploying
            - succeeded
            - failed
            - deleted
        metadata:
          type: object
          properties:
            id:
              type: string
              format: uuid
            experiment_number:
              type: number
            base_model_id:
              type: string
            model_id:
              type: string
          required:
            - id
            - experiment_number
            - base_model_id
      required:
        - id
        - label
        - type
        - status
        - metadata
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````