---
title: "Search Form Instances"
method: GET
path: "/v1/form-instance/"
tags: ["Form Instances"]
---

# Search Form Instances

`GET /v1/form-instance/`

Search for forms that match the provided search terms.

Keywords are searched for in the _title_, _instance identifier_, _site identifier_, _site name_, _site address_, _company name_, _submitted user first and last name_, _draft name_, _device name_, and _device type_ fields.

## Query parameters

- `query` string, nullable
- `skip` integer, nullable
- `limit` integer, nullable
- `sort_direction` 'asc' | 'desc' — Direction to sort the `sort_column` - ascending or descending.
- `date_start` string, date-time, nullable
- `date_cut_off` string, date-time, nullable
- `sort_column` 'updated_at' | 'created_at' | 'id' — Which column to sort on
- `query_mode` 'own' | 'shared' — Specify the search mode for the form instances.
- `external_project_id` string, nullable
- `external_company_id` string, nullable
- `external_only` boolean, nullable
- `project_id` integer, nullable
- `form_instance_status` 'draft' | 'draft_pending_review' | 'pending_review' | 'completed' | 'disapproved' — The status of the form instances.
- `form_id` integer, nullable
- `form_type_id` integer, nullable
- `submitted_user_id` integer, nullable
- `created_by_user_id` integer, nullable
- `signer_user_id` integer, nullable
- `is_restricted` boolean, nullable
- `is_archived` boolean, nullable
- `has_corrective_action` boolean, nullable
- `incident_id` integer, nullable
- `has_public_access` boolean, nullable

## Response `200`

Successful Response

- ApiGenericListResponseFormInstanceSearchModel
  - `error` boolean — A boolean error indicator.
  - `message` string, nullable — Optional message.
  - `data` FormInstanceSearchModel[], nullable — The response data for any given request.
    - `id` integer, nullable
    - `formId` integer, nullable
    - `submittedByUserId` integer, nullable
    - `createdByUserId` integer, nullable
    - `submittedOn` string, date-time, nullable
    - `createdAt` string, date-time, nullable
    - `updatedAt` string, date-time, nullable
    - `companyId` integer, nullable
    - `siteId` integer, nullable
    - `typeId` integer, nullable
    - `assetId` integer, nullable
    - `status` string, nullable
    - `externalId` string, nullable
    - `deviceType` string, nullable
    - `deviceVersion` string, nullable
    - `version` integer, nullable
    - `isArchived` boolean, nullable
    - `externalProjectId` string, nullable
    - `externalProjectSystemName` string, nullable
    - `externalCompanyId` string, nullable
    - `externalCompanySystemName` string, nullable
    - `formTitle` string, nullable
    - `submittedByUser` string, nullable
    - `createdByUser` string, nullable
    - `companyName` string, nullable
    - `siteName` string, nullable
    - `formTypeName` string, nullable
    - `assetName` string, nullable
    - `correctiveActionCount` integer

## Other responses

- `400` — Business Logic Error
- `403` — Permission Error
- `404` — Records Not Found
- `409` — Integrity Error or Data Conflict
- `422` — Validation Error

---

[API](https://skmtc.dev/salussafety/apis/salus-developer-api.md) · [All operations](https://skmtc.dev/salussafety/apis/salus-developer-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/salussafety/salus-developer-api/revisions/ef065f44da25/schema)
