> ## Documentation Index
> Fetch the complete documentation index at: https://developers.octaviatech.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Get submissions by form id

> Returns submissions for the given form with optional filters and pagination. Requires auth. Callers whose role is `WRITER` are restricted to forms they created.



## OpenAPI

````yaml /api-reference/ai-cms/openapi.json get /forms/{id}/getAllSubmissions
openapi: 3.1.0
info:
  title: Blog API
  version: 1.0.0
servers:
  - url: https://api.octaviatech.app/cms
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Tags
    description: Tag management endpoints
paths:
  /forms/{id}/getAllSubmissions:
    get:
      tags:
        - Form Submissions
      summary: Get submissions by form id
      description: >-
        Returns submissions for the given form with optional filters and
        pagination. Requires auth. Callers whose role is `WRITER` are restricted
        to forms they created.
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: '{{objectId}}'
          description: 24-char hex identifier of the form.
        - in: query
          name: page
          schema:
            type: integer
            example: 1
            minimum: 1
          description: Page index (1-based).
        - in: query
          name: limit
          schema:
            type: integer
            example: 10
            minimum: 1
            maximum: 100
          description: Items per page.
        - in: query
          name: status
          schema:
            type: string
            example: pending,approved
            description: >-
              Comma-separated list of statuses to include. Allowed values:
              pending, approved, rejected. A value matching none of these is
              rejected with 400.
        - in: query
          name: lang
          schema:
            type: string
            example: en
            description: >-
              Filter by the submission's stored `language`. Pass a single code —
              the returned page is matched with an exact comparison, so a
              comma-separated list yields an empty page (it is only expanded
              when counting the total).
      responses:
        '200':
          description: OK
        '400':
          description: Bad request (unrecognised `status` value)
        '401':
          description: Unauthorized (WRITER caller with no resolvable identity)
        '403':
          description: Forbidden (WRITER caller that did not create the form)
        '404':
          description: Not found
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````