---
title: "Get Projects Paginated"
method: POST
path: "/projects/paginated"
tags: ["projects"]
---

# Get Projects Paginated

`POST /projects/paginated`

Gets projects for a user with pagination.

If provided, filters on project_name and project_type.

## Query parameters

- `actions` ProjectAction[] — Actions to include in the 'permissions' field.
- `starting_token` integer
- `limit` integer

## Request body

- ApiSchemasProjectProjectCollectionParams
  - `filters` union[]
    - union
      - ProjectIDFilter
        - `name` 'id'
        - `operator` 'eq' | 'ne' | 'one_of' | 'not_in' | 'contains'
        - `value` union, required
          - string, uuid4
          - union[]
            - union
              - …
          - string
      - ApiSchemasProjectProjectNameFilter
        - `name` 'name'
        - `operator` 'eq' | 'ne' | 'contains' | 'one_of' | 'not_in', required
        - `value` union, required
          - string
          - string[]
        - `case_sensitive` boolean
      - ProjectTypeFilter
        - `name` 'type'
        - `operator` 'eq' | 'ne' | 'one_of' | 'not_in', required
        - `value` union, required
          - string — Single enum value - specific options depend on the concrete enum type used
          - string[] — Array of enum values
      - ApiSchemasProjectProjectCreatorFilter
        - `name` 'creator'
        - `operator` 'eq' | 'ne' | 'one_of' | 'not_in' | 'contains'
        - `value` union, required
          - string, uuid4
          - union[]
            - union
              - …
          - string
      - ApiSchemasProjectProjectCreatedAtFilter
        - `name` 'created_at'
        - `operator` 'eq' | 'ne' | 'gt' | 'gte' | 'lt' | 'lte', required
        - `value` string, date-time, required
      - ApiSchemasProjectProjectUpdatedAtFilter
        - `name` 'updated_at'
        - `operator` 'eq' | 'ne' | 'gt' | 'gte' | 'lt' | 'lte', required
        - `value` string, date-time, required
      - ProjectRunsFilter
        - `name` 'runs'
        - `operator` 'eq' | 'ne' | 'gt' | 'gte' | 'lt' | 'lte' | 'between', required
        - `value` union, required
          - integer
          - number
          - integer[]
          - number[]
      - ApiSchemasProjectProjectBookmarkFilter
        - `name` 'bookmark'
        - `value` boolean, required
  - `sort` union
    - ApiSchemasProjectProjectNameSort
      - `name` 'name'
      - `ascending` boolean
      - `sort_type` 'column'
    - ProjectTypeSort
      - `name` 'type'
      - `ascending` boolean
      - `sort_type` 'column'
    - ApiSchemasProjectProjectCreatedAtSort
      - `name` 'created_at'
      - `ascending` boolean
      - `sort_type` 'column'
    - ApiSchemasProjectProjectUpdatedAtSort
      - `name` 'updated_at'
      - `ascending` boolean
      - `sort_type` 'column'
    - ProjectRunsSort
      - `name` 'runs'
      - `ascending` boolean
      - `sort_type` 'custom'
    - ProjectBookmarkSort
      - `name` 'bookmark'
      - `ascending` boolean
      - `sort_type` 'custom'

## Response `200`

Successful Response

- ApiSchemasProjectGetProjectsPaginatedResponse
  - `starting_token` integer
  - `limit` integer
  - `paginated` boolean
  - `next_starting_token` integer, nullable
  - `projects` ProjectDB[], required
    - `id` string, uuid4, required
    - `permissions` Permission[]
      - `action` union, required
        - 'update' | 'delete' | 'read_api_keys' | 'change_role_to_admin' | 'change_role_to_manager' | 'change_role_to_user' | 'change_role_to_read_only'
        - 'update' | 'list_members' | 'join' | 'request_to_join'
        - 'update_role' | 'delete'
        - 'update' | 'delete' | 'rename' | 'share' | 'create_run' | 'delete_run' | 'rename_run' | 'move_run' | 'export_data' | 'configure_human_feedback' | 'record_human_feedback' | 'log_data' | 'toggle_metric' | 'edit_alert' | 'create_stage' | 'edit_stage' | 'configure_crown_logic' | 'delete_data' | 'set_metric' | 'edit_run_tags' | 'dismiss_alert' | 'edit_slice' | 'edit_edit' | 'update_control_bindings' | 'use_control_runtime'
        - 'update' | 'delete' | 'share' | 'export' | 'autotune_apply'
        - 'update' | 'delete'
        - 'update' | 'delete'
        - 'update' | 'delete'
        - 'update' | 'delete'
        - 'update' | 'delete' | 'share' | 'export' | 'rename'
        - 'update' | 'delete' | 'share' | 'read_secrets'
        - 'rename' | 'delete' | 'delete_log_data' | 'read_settings' | 'update_settings' | 'read_cost_settings' | 'read_ai_usage'
        - 'update' | 'delete' | 'share' | 'record_annotation'
        - 'create' | 'read' | 'update' | 'delete' — Actions on Agent Control's org-scoped ``control`` resource.
      - `allowed` boolean, required
      - `message` string, nullable
    - `name` string, nullable
    - `created_by` string, uuid4, required
    - `type` 'protect' | 'gen_ai'
    - `created_by_user` UserInfo, required — A user's basic information, used for display purposes.
      - `id` string, uuid4, required
      - `email` string, required
      - `first_name` string, nullable
      - `last_name` string, nullable
    - `runs` RunDB[], required
      - `name` string, nullable
      - `project_id` string, uuid4, nullable
      - `created_by` string, uuid4, required
      - `num_samples` integer, required
      - `winner` boolean, required
      - `dataset_hash` string, nullable
      - `dataset_version_id` string, uuid4, nullable
      - `prompt_template_version_id` string, uuid4, nullable
      - `id` string, uuid4, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `task_type` 13 | 15 | 16 | 17 | 18 — Valid task types for modeling. We store these as ints instead of strings because we will be looking this up in the database frequently.
      - `last_updated_by` string, uuid4, required
      - `run_tags` RunTagDB[]
        - `key` string, required
        - `value` string, required
        - `tag_type` string, required
        - `project_id` string, uuid4, required
        - `run_id` string, uuid4, required
        - `created_by` string, uuid4, required
        - `id` string, uuid4, required
        - `created_at` string, date-time, required
        - `updated_at` string, date-time, required
      - `example_content_id` string, nullable
      - `creator` UserDB, required
        - `id` string, uuid4, required
        - `permissions` Permission[]
          - `action` union, required
            - 'update' | 'delete' | 'read_api_keys' | 'change_role_to_admin' | 'change_role_to_manager' | 'change_role_to_user' | 'change_role_to_read_only'
            - 'update' | 'list_members' | 'join' | 'request_to_join'
            - 'update_role' | 'delete'
            - 'update' | 'delete' | 'rename' | 'share' | 'create_run' | 'delete_run' | 'rename_run' | 'move_run' | 'export_data' | 'configure_human_feedback' | 'record_human_feedback' | 'log_data' | 'toggle_metric' | 'edit_alert' | 'create_stage' | 'edit_stage' | 'configure_crown_logic' | 'delete_data' | 'set_metric' | 'edit_run_tags' | 'dismiss_alert' | 'edit_slice' | 'edit_edit' | 'update_control_bindings' | 'use_control_runtime'
            - 'update' | 'delete' | 'share' | 'export' | 'autotune_apply'
            - 'update' | 'delete'
            - 'update' | 'delete'
            - 'update' | 'delete'
            - 'update' | 'delete'
            - 'update' | 'delete' | 'share' | 'export' | 'rename'
            - 'update' | 'delete' | 'share' | 'read_secrets'
            - 'rename' | 'delete' | 'delete_log_data' | 'read_settings' | 'update_settings' | 'read_cost_settings' | 'read_ai_usage'
            - 'update' | 'delete' | 'share' | 'record_annotation'
            - 'create' | 'read' | 'update' | 'delete' — Actions on Agent Control's org-scoped ``control`` resource.
          - `allowed` boolean, required
          - `message` string, nullable
        - `email` string, required
        - `first_name` string, nullable
        - `last_name` string, nullable
        - `auth_method` 'email' | 'google' | 'github' | 'okta' | 'azure-ad' | 'custom' | 'saml' | 'invite'
        - `role` 'admin' | 'manager' | 'user' | 'read_only'
        - `email_is_verified` boolean, nullable
        - `organization_id` string, uuid4, required
        - `organization_name` string, required
        - `created_at` string, date-time, required
        - `updated_at` string, date-time, required
      - `logged_splits` string[]
      - `logged_inference_names` string[]
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `bookmark` boolean
    - `description` string, nullable
    - `labels` ProjectLabels[]

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/galileo/apis/galileo-api-server.md) · [All operations](https://skmtc.net/galileo/apis/galileo-api-server/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/galileo/galileo-api-server/versions/933e8c8e6366/schema)
