---
title: "Get Form Submissions"
url: "https://developer-qual.migros.ch/apis/formigros-qual-0/versions/5cf4bb7f-1e47-4efc-a301-5c2ff79fea16/operations/getFormSubmissions"
---

> Full API specification: https://developer-qual.migros.ch/apis/formigros-qual-0/versions/5cf4bb7f-1e47-4efc-a301-5c2ff79fea16.md

# Get Form Submissions

`GET` `/migros/forms/v1/{formPath}/submission`

Operation ID: `getFormSubmissions`

Retrieves submissions for the given form alias. Kong proxies to Form.io’s submission **index** API (resourcejs), which applies the same `limit` / `skip` / `Range` pagination and query filtering as the native project URL. Extra query keys may filter on indexed submission fields using Form.io / resourcejs conventions (for example `data.someKey=value` or operator suffixes such as `__regex` where supported). **Auth:** Form.io enforces roles such as the form’s submission viewer permissions using this JWT.

## Path parameters

- `formPath` (string, required) - Form Alias

## Query parameters

- `limit` (integer, optional) - Maximum submissions to return. Form.io (resourcejs) defaults to **10** when `limit`, `skip`, and `Range` are all omitted.
- `skip` (integer, optional) - Number of submissions to skip (offset before `limit`).
- `sort` (string, optional) - Mongo-style sort, e.g. `-created` for newest first, `created` for oldest first.

## Header parameters

- `x-jwt-token` (string, required) - Form.io JWT token for the signed-in user.
- `Range` (string, optional) - Optional pagination header; must use the **`items`** unit. Example: `items=0-49`. Equivalent to setting `limit` and `skip` from the range; do not rely on mixing both in one request without verifying behavior on your Form.io version.

## Responses

- `200` - JSON array of submissions—either the full matching set in one response, or the last page of a paginated request.
- `206` - Partial list; additional submissions exist. Read `Content-Range`, then request the next window via `skip` / `limit` or a follow-up `Range` header.

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Formigros QUAL
  version: 0.0.1
servers:
  - url: https://api-qual.migros.ch
paths:
  /migros/forms/v1/{formPath}/submission:
    get:
      description: >
        Retrieves submissions for the given form alias. Kong proxies to
        Form.io’s submission **index** API (resourcejs), which applies the same
        `limit` / `skip` / `Range` pagination and query filtering as the native
        project URL.


        Extra query keys may filter on indexed submission fields using Form.io /
        resourcejs conventions (for example `data.someKey=value` or operator
        suffixes such as `__regex` where supported).


        **Auth:** Form.io enforces roles such as the form’s submission viewer
        permissions using this JWT.
      operationId: getFormSubmissions
      parameters:
        - description: Form Alias
          in: path
          name: formPath
          required: true
          schema:
            example: AmazingContactForm
            type: string
        - description: Form.io JWT token for the signed-in user.
          in: header
          name: x-jwt-token
          required: true
          schema:
            type: string
        - description: >
            Maximum submissions to return. Form.io (resourcejs) defaults to
            **10** when `limit`, `skip`, and `Range` are all omitted.
          in: query
          name: limit
          required: false
          schema:
            example: 50
            minimum: 0
            type: integer
        - description: Number of submissions to skip (offset before `limit`).
          in: query
          name: skip
          required: false
          schema:
            example: 0
            minimum: 0
            type: integer
        - description: Mongo-style sort, e.g. `-created` for newest first, `created` for
            oldest first.
          in: query
          name: sort
          required: false
          schema:
            example: -created
            type: string
        - description: >
            Optional pagination header; must use the **`items`** unit. Example:
            `items=0-49`.

            Equivalent to setting `limit` and `skip` from the range; do not rely
            on mixing both in one request without verifying behavior on your
            Form.io version.
          in: header
          name: Range
          required: false
          schema:
            example: items=0-49
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  type: object
                type: array
          description: >
            JSON array of submissions—either the full matching set in one
            response, or the last page of a paginated request.
          headers:
            Content-Range:
              description: >
                May be present when the server reports pagination metadata.
                Typical shape: `items <start>-<end>/<total>` (unit `items`).
              schema:
                example: items 0-9/42
                type: string
        "206":
          content:
            application/json:
              schema:
                items:
                  type: object
                type: array
          description: >
            Partial list; additional submissions exist. Read `Content-Range`,
            then request the next window via `skip` / `limit` or a follow-up
            `Range` header.
          headers:
            Content-Range:
              description: Returned slice and total count, e.g. `items 0-9/42`.
              required: true
              schema:
                example: items 0-9/42
                type: string
      summary: Get Form Submissions
      tags:
        - Submission API
```
