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

# Retrieve All Projects

GET all Project instances visible to the authenticated user. Returns a paginated list of Projects the user owns or is a member of.


## OpenAPI

````yaml GET /api/v1/projects
openapi: 3.1.0
info:
  description: >-
    The One Codex API (v1) -- programmatic access to One Codex's suite of
    microbial genomics data storage, analysis, and query tools.
  title: One Codex API (v1)
  version: v1
servers:
  - url: https://app.onecodex.com
security:
  - apiKeyAuth: []
paths:
  /api/v1/projects:
    get:
      summary: GET projects instances
      operationId: get_projects_instances
      parameters:
        - description: Page number. Defaults to 1. See Pagination for more details.
          in: query
          name: page
          required: false
          schema:
            default: 1
            format: int32
            type: integer
        - description: >-
            Number of requested paginated records. Defaults to 50. See
            Pagination for more details.
          in: query
          name: per_page
          required: false
          schema:
            default: 50
            format: int32
            type: integer
        - description: >-
            Optional Mongo-style JSON sort clause, e.g., `sort={"created_at":
            true}` to sort by created_at (descending)
          in: query
          name: sort
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            default: null
        - description: >-
            Optional Mongo-style JSON filter clause, e.g., `where={"$uri":
            {"$eq": "/api/v1/samples/0ee172af60e84f61"}}`
          in: query
          name: where
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            default: null
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/projects'
                type: array
          description: OK
components:
  schemas:
    projects:
      properties:
        $uri:
          example: /api/v1/projects/0d77065796f8d173
          pattern: ^/api/v1/projects/[a-f0-9]{16}$
          readOnly: true
          title: $Uri
          type: string
        description:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Description
        external_id:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          example: PRJ-2024-001
          title: External Id
        name:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Name
        owner:
          properties:
            __DOLLAR_REF__:
              example: /api/v1/users/a1b2c3d4e5f67890
              format: uri
              pattern: ^/api/v1/users/[a-f0-9]{16}$
              type: string
          title: users
          type: object
        permissions:
          items:
            type: string
          title: Permissions
          type: array
        project_name:
          anyOf:
            - maxLength: 15
              minLength: 3
              pattern: ^[a-zA-Z0-9_-]{3,15}$
              type: string
            - type: 'null'
          title: Project Name
        public:
          default: false
          title: Public
          type: boolean
      required:
        - $uri
        - owner
        - permissions
        - project_name
      title: projects
      type: object
  securitySchemes:
    apiKeyAuth:
      in: header
      name: X-API-Key
      type: apiKey

````