---
title: "Create Preliminary Participant Endpoint"
method: POST
path: "/api/v2/aws/forms-app/create-preliminary-participant"
tags: ["v2", "Forms App", "AWS"]
---

# Create Preliminary Participant Endpoint

`POST /api/v2/aws/forms-app/create-preliminary-participant`

Creates a preliminary Lead participant from step 1 (participant details) form data.

Called by the forms app after the participant details step is successfully submitted,
before the form is fully completed. This ensures a participant record exists in the
database with status="Lead" and status_category="Form in progress" as soon as a
user starts filling in their details.

The participant ID is stored in the form_request processing_outcomes so that
form_completion_background_task skips re-creation and instead updates the existing record.

Not valid for bank_details_form requests — those are pre-linked to an existing entity
and must never create new participants.

## Request body

- CreatePreliminaryParticipantRequest — Request body for creating a preliminary participant from a partially-completed form. Called by the forms app after the participant details step (step 1) is submitted, so a Lead participant record exists in the database before the form is fully completed.
  - `form_request_id` string, uuid, required
  - `plan_manager_id` string, uuid, required
  - `first_name` string, nullable
  - `middle_name` string, nullable
  - `last_name` string, nullable
  - `date_of_birth` string, nullable
  - `phone_number` string, nullable
  - `contact_email` string, nullable
  - `address_line_1` string, nullable
  - `address_line_2` string, nullable
  - `city` string, nullable
  - `state` string, nullable
  - `postcode` string, nullable
  - `ndis_number` string, nullable

## Response `200`

Successful Response

- ApiResponseJSON — Standardised JSON Api Response To conforms to Aus Gov recommended format [api.gov.au](https://api.gov.au/sections/api-response.html#response-payload) Which is a modification of [JSON:API]( https://jsonapi.org/format/#introduction) data meta: meta object that contains non-standard meta-information messages: container for informational and warning messages related to the transaction. Not Implemented (not currently required): Links: [HATEOS Links](https://api.gov.au/sections/api-response.html#response-payload)
  - `data` unknown[] — List of items returned in the response following given criteria
    - unknown
  - `meta` ApiResponseMeta — Standardised Api Response Meta Not always required (except for example; with paginated results) Future: Could provide base that includes org information, copy-write etc
    - `processing_time_ms` integer, nullable
    - `total_records` integer, nullable
    - `page` integer, nullable
    - `limit` integer, nullable
    - `count` integer, nullable
    - `cursor` unknown
    - `cursor_last` unknown
    - `more_data_available` boolean, nullable
  - `messages` ApiResponseMessage[], nullable — Response Messages
    - `message_type` 'debug' | 'info' | 'warning' | 'error', required
    - `message` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/caresquare/apis/fastapi.md) · [All operations](https://skmtc.dev/caresquare/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/caresquare/fastapi/revisions/c9df874d8d59/schema)
