> ## 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.

# Create test taker

> Enrolls a test taker under the project, storing your referenceId. Returns the created test taker including its projectEntryId, which you pass to POST .../test-link to get a magic link.



## OpenAPI

````yaml https://api.neurapulse.com/openapi/v1.json post /projects/{projectId}/testtakers
openapi: 3.0.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/{projectId}/testtakers:
    post:
      tags:
        - Test Takers
      summary: Create test taker
      description: >-
        Enrolls a test taker under the project, storing your referenceId.
        Returns the created test taker including its projectEntryId, which you
        pass to POST .../test-link to get a magic link.
      operationId: CreateTestTaker
      parameters:
        - name: projectId
          in: path
          description: Project Id. Obtain via GET /projects or from the project URL.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestTakerCreate'
          text/json:
            schema:
              $ref: '#/components/schemas/TestTakerCreate'
          application/*+json:
            schema:
              $ref: '#/components/schemas/TestTakerCreate'
        required: true
      responses:
        '201':
          description: Created
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/CreatedTestTakerResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedTestTakerResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/CreatedTestTakerResponse'
        '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'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '409':
          description: Conflict
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    TestTakerCreate:
      required:
        - email
      type: object
      properties:
        email:
          type: string
          description: The email address of the test taker.
        firstName:
          maxLength: 100
          minLength: 0
          type: string
          description: The first name of the test taker.
          nullable: true
        lastName:
          maxLength: 100
          minLength: 0
          type: string
          description: The last name of the test taker.
          nullable: true
        birthYear:
          type: integer
          description: The birth year of the test taker.
          format: int32
          nullable: true
        referenceId:
          pattern: ^[a-zA-Z0-9_\-.+@]{1,500}$
          type: string
          description: >-
            Your own external reference id for this test taker; echoed back on
            the completion webhook.
          nullable: true
    CreatedTestTakerResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        projectEntryId:
          type: integer
          format: int32
        email:
          type: string
          nullable: true
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        birthYear:
          type: integer
          format: int32
          nullable: true
        referenceId:
          type: string
          nullable: true
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
  securitySchemes:
    ApiKey:
      type: apiKey
      description: API key generated in the Portal (Workspace Settings → API Keys).
      name: x-api-key
      in: header

````