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

# List forms

> Retrieve a paginated list of forms in your workspace.



## OpenAPI

````yaml /openapi.json get /forms
openapi: 3.1.0
info:
  title: PipedForm API
  description: >-
    PipedForm is a form-to-integration platform that lets you capture form
    submissions and route them anywhere — email, Google Sheets, Slack, Notion,
    and more — without setting up or maintaining a backend.


    This API allows you to programmatically retrieve your forms and submissions.
  version: 1.0.0
  contact:
    name: PipedForm Support
    url: https://pipedform.com
servers:
  - url: https://pipedform.com/api/v1
security:
  - BearerAuth: []
tags:
  - name: Forms
    description: Endpoints for retrieving your forms
  - name: Submissions
    description: Endpoints for retrieving form submissions
paths:
  /forms:
    get:
      tags:
        - Forms
      summary: List forms
      description: Retrieve a paginated list of forms in your workspace.
      operationId: listForms
      parameters:
        - name: limit
          in: query
          required: false
          description: Maximum number of forms to return.
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
        - name: cursor
          in: query
          required: false
          description: >-
            Cursor for pagination. Pass the `nextCursor` value from a previous
            response to fetch the next page.
          schema:
            type: string
      responses:
        '200':
          description: A paginated list of forms.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FormListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  schemas:
    FormListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Form'
        nextCursor:
          type: string
          description: Cursor to retrieve the next page of results.
          examples:
            - eyJpZCI6IjAxOWY0MGVkIn0=
      required:
        - data
    Form:
      type: object
      properties:
        id:
          type: string
          format: uuidv7
          examples:
            - 019f40ed-65aa-754b-90dd-504b87836506
        name:
          type: string
          examples:
            - Contact Form
        createdAt:
          type: string
          format: date-time
          examples:
            - '2026-06-01T08:30:00.000Z'
      required:
        - id
        - name
        - createdAt
        - updatedAt
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - UNAUTHORIZED
                - NOT_FOUND
                - RATE_LIMIT_EXCEEDED
              examples:
                - UNAUTHORIZED
            message:
              type: string
              examples:
                - Invalid API key
          required:
            - code
            - message
      required:
        - error
  responses:
    Unauthorized:
      description: The API key is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimited:
      description: Too many requests. You have exceeded the rate limit for this API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
            properties:
              error:
                properties:
                  code:
                    type: string
                    examples:
                      - RATE_LIMIT_EXCEEDED
                  message:
                    type: string
                    examples:
                      - Too many requests, please try againt later.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Provide your PipedForm API key as a Bearer token, e.g. `Authorization:
        Bearer YOUR_API_KEY`.

````