---
title: "Get all completions for a form"
method: GET
path: "/forms/{id}/completions"
tags: ["Forms"]
---

# Get all completions for a form

`GET /forms/{id}/completions`

Returns a paginated list of all completions for the specified form. Use this endpoint to pull volunteer responses, survey submissions, or waiver completions associated with a form. Filter by user_id to retrieve completions for a specific volunteer, or use the date filters to retrieve only recently submitted or modified completions.

## Path parameters

- `id` integer, required

## Query parameters

- `user_id` integer
- `created_before` string, date-time
- `created_after` string, date-time
- `updated_before` string, date-time
- `updated_after` string, date-time

## Response `200`

Returns the paginated list of form completions for the specified form. The response includes pagination links and meta fields to navigate additional pages.

- object
  - `data` FormCompletionResource[]
    - `type` string — The type of VOMO Object
    - `id` integer — The ID of the form completion
    - `form_id` integer — The ID of the form
    - `user_id` integer — The ID of the user who completed the form
    - `project_id` integer, nullable — The ID of the project this form submission is associated with
    - `participation_id` integer, nullable — The ID of the participation this form submission is associated with
    - `updated_at` string, date-time — The date and time the form completion was updated at
    - `created_at` string, date-time — The date and time the form completion was created at
    - `field_responses` FormFieldResponseResource[] — The form field responses
      - `type` string — The type of VOMO Object
      - `id` integer — The ID of the response
      - `form_completion_id` integer — The ID of the form completion
      - `user_id` integer — The ID of the user who completed the form field
      - `field_id` integer — The ID of the form field
      - `value` string, nullable — The raw answer value for this field response. What this contains varies by field type: SHORTTEXT and LONGTEXT — the text the volunteer entered; DROPDOWN — the name of the selected option; GROUP — a JSON array of group IDs the volunteer was assigned to; DOCUMENTUPLOAD — the identifier of the uploaded file; WAIVER — the acceptance string; MULTIPLESELECT — not currently populated (selections for multiple-select fields are stored separately and are not returned in this field).
  - `links` PaginationLinks — Pagination navigation links returned on every paginated list response. Each URL points at the specific list endpoint being called.
    - `first` string — A link to the first page of results
    - `last` string — A link to the last page of results
    - `prev` string, nullable — A link to the previous page of results, or null on the first page
    - `next` string, nullable — A link to the next page of results, or null on the last page
  - `meta` PaginationMeta — Pagination metadata returned on every paginated list response.
    - `current_page` integer — The current page
    - `from` integer — The index of the first result on this page
    - `last_page` integer — The number of the last page of results
    - `to` integer — The index of the last result on this page
    - `path` string — The base URL of the list endpoint
    - `per_page` integer — The number of results per page
    - `total` integer — The total number of results

## Other responses

- `401` — Authentication credentials are missing or invalid.
- `404` — No form exists with the provided ID.
- `429` — You have exceeded the rate limit of 30 requests per minute per API key.
- `500` — An unexpected server error occurred.

---

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