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

# List projects

> Returns a paginated list of projects for the workspace.



## OpenAPI

````yaml https://api.neurapulse.com/openapi/v1.json get /projects
openapi: 3.1.1
info:
  title: api-service | v1
  version: 1.0.0
servers:
  - url: https://api.neurapulse.com
security:
  - ApiKey: []
tags:
  - name: Project Results
  - name: Projects
  - name: Test Takers
  - name: Workspace
paths:
  /projects:
    get:
      tags:
        - Projects
      summary: List projects
      description: Returns a paginated list of projects for the workspace.
      operationId: GetProjects
      parameters:
        - name: page
          in: query
          description: 'Page number, starting at 1. Default: 1.'
          schema:
            pattern: ^-?(?:0|[1-9]\d*)$
            type:
              - integer
              - string
            format: int32
            default: 1
        - name: pageSize
          in: query
          description: 'Items per page (1–100). Default: 100.'
          schema:
            pattern: ^-?(?:0|[1-9]\d*)$
            type:
              - integer
              - string
            format: int32
            default: 100
        - name: order
          in: query
          description: 'Sort direction. One of: asc, desc. Default: asc.'
          schema:
            $ref: '#/components/schemas/OrderByType'
            default: Asc
        - name: orderBy
          in: query
          description: >-
            Sort field. One of: name, dateCreated, lastModified, state. Default:
            name.
          schema:
            $ref: '#/components/schemas/ProjectOrderByType'
            default: Name
        - name: filter
          in: query
          description: Filter by project name (substring match).
          schema:
            maxLength: 500
            type: string
            default: ''
        - name: state
          in: query
          description: Filter by project state.
          schema:
            $ref: '#/components/schemas/ActiveStateType'
        - name: bypassCache
          in: query
          description: Bypass the server cache to get the latest data.
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Project'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Project'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Project'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    OrderByType:
      enum:
        - Asc
        - Desc
      type: string
      example: Asc
    ProjectOrderByType:
      enum:
        - Name
        - DateCreated
        - LastModified
        - State
      type: string
      example: Name
    ActiveStateType:
      enum:
        - Draft
        - Active
        - Inactive
        - Deleted
        - ActiveExpired
      type: string
      example: Draft
    Project:
      required:
        - name
        - fitForDutyResponse
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the project.
          format: uuid
        dateCreated:
          type: string
          description: The date the project was created.
          format: date-time
        lastModified:
          type: string
          description: The date the project was last modified.
          format: date-time
        state:
          $ref: '#/components/schemas/ActiveStateType'
          description: The state of the project.
        name:
          maxLength: 50
          type: string
          description: The name of the project.
        fitForDutyResponse:
          maxLength: 1000
          type: string
          description: >-
            Define actions for high-risk results. For example, you can write
            'Interview the test taker', or enter a URL.
    ProblemDetails:
      type: object
      properties:
        type:
          type:
            - 'null'
            - string
          description: >-
            A URI reference identifying the problem type (RFC 7807). Null when
            no specific type is assigned.
        title:
          type:
            - 'null'
            - string
          description: A short, human-readable summary of the problem type.
        status:
          pattern: ^-?(?:0|[1-9]\d*)$
          type:
            - 'null'
            - integer
            - string
          description: >-
            The HTTP status code for this problem, duplicated in the body for
            convenience.
          format: int32
        detail:
          type:
            - 'null'
            - string
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
        instance:
          type:
            - 'null'
            - string
          description: >-
            A URI reference identifying the specific occurrence of the problem
            (typically the request path).
  securitySchemes:
    ApiKey:
      type: apiKey
      description: API key generated in the Portal (Workspace Settings → API Keys).
      name: x-api-key
      in: header

````