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

# List Workspace Forms

> Retrieve all forms within a specific workspace. Returns lightweight form summaries (excludes `properties`). Use the Get Form endpoint to retrieve the full form with all fields. Requires `forms-read` ability.

Retrieve all forms within a specific workspace.

<Info>
  This endpoint returns **lightweight form summaries** optimized for listing. The `properties` array (form fields and blocks) is excluded to reduce response size. Use the [Get Form](./get-form) endpoint to retrieve the complete form with all fields.
</Info>

## Authentication & Scope

This request must be authenticated using a **Personal Access Token** that includes the `forms-read` ability.

```http theme={null}
Authorization: Bearer <token>
```

## Request

```http theme={null}
GET /open/workspaces/{workspaceId}/forms HTTP/1.1
Host: api.opnform.com
Authorization: Bearer <token>
```

### Path Parameters

| Parameter   | Type   | Description                                 |
| ----------- | ------ | ------------------------------------------- |
| workspaceId | number | ID of the workspace to retrieve forms from. |

### Query Parameters

| Parameter | Type   | Description                 | Default |
| --------- | ------ | --------------------------- | ------- |
| page      | number | Page number for pagination. | 1       |

## Response

`200 OK` – Returns a paginated JSON response containing lightweight form summaries.

```json theme={null}
{
  "data": [
    {
      "id": 42,
      "slug": "customer-feedback",
      "title": "Customer Feedback",
      "visibility": "public",
      "tags": ["feedback", "support"],
      "views_count": 1250,
      "submissions_count": 15,
      "created_at": "2024-11-15T10:30:00+00:00",
      "updated_at": "2025-01-02T14:25:00+00:00",
      "last_edited_human": "2 hours ago",
      "closes_at": null,
      "is_closed": false,
      "max_submissions_count": null,
      "max_number_of_submissions_reached": false,
      "is_pro": true,
      "workspace_id": 1,
      "share_url": "https://opnform.com/forms/customer-feedback"
    }
  ],
  "meta": {
    "current_page": 1,
    "per_page": 10,
    "total": 1
  }
}
```

<Tip>
  To get the full form including fields (`properties`), call the [Get Form](./get-form) endpoint with the form's `slug` or `id`.
</Tip>

`403 Forbidden` – The token does not include the required `forms-read` ability, or you do not have access to the workspace.

`404 Not Found` – The workspace does not exist.


## OpenAPI

````yaml get /open/workspaces/{workspaceId}/forms
openapi: 3.0.1
info:
  title: OpnForm API
  description: API for interacting with OpnForm, primarily used for Zapier integration
  version: 1.0.0
servers:
  - url: https://api.opnform.com
security:
  - bearerAuth: []
tags:
  - name: Workspaces
    description: Create and manage workspaces.
  - name: Workspace Users
    description: Manage users within a workspace.
  - name: Forms
    description: Manage and retrieve forms.
  - name: Submissions
    description: Access and manage form submissions.
  - name: Integrations
    description: Manage form integrations (webhooks) via API.
  - name: Zapier
    description: Legacy endpoints for the Zapier integration.
paths:
  /open/workspaces/{workspaceId}/forms:
    get:
      tags:
        - Forms
      summary: List Workspace Forms
      description: >-
        Retrieve all forms within a specific workspace. Returns lightweight form
        summaries (excludes `properties`). Use the Get Form endpoint to retrieve
        the full form with all fields. Requires `forms-read` ability.
      parameters:
        - name: workspaceId
          in: path
          required: true
          schema:
            type: number
            description: ID of the workspace to retrieve forms from.
        - name: page
          in: query
          required: false
          schema:
            type: number
            minimum: 1
            default: 1
          description: Pagination page number
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/FormListItem'
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                      last:
                        type: string
                      prev:
                        type: string
                        nullable: true
                      next:
                        type: string
                        nullable: true
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: number
                      from:
                        type: number
                      last_page:
                        type: number
                      per_page:
                        type: number
                      to:
                        type: number
                      total:
                        type: number
        '403':
          description: >-
            Forbidden – token lacks forms-read ability or you do not have access
            to the workspace
        '404':
          description: Workspace not found
      security:
        - bearerAuth: []
components:
  schemas:
    FormListItem:
      type: object
      description: >-
        A lightweight form summary returned by list endpoints. Use the Get Form
        endpoint to retrieve full form details including properties.
      properties:
        id:
          type: number
          description: The unique identifier for the form.
          readOnly: true
        slug:
          type: string
          description: The URL-friendly slug for the form.
          readOnly: true
        title:
          type: string
          description: The title of the form.
        visibility:
          type: string
          enum:
            - public
            - draft
            - closed
          description: The current visibility state of the form.
        tags:
          type: array
          items:
            type: string
          nullable: true
        views_count:
          type: number
          description: Total number of form views.
        submissions_count:
          type: number
          description: Total number of completed submissions.
        created_at:
          type: string
          format: date-time
          description: ISO 8601 timestamp of when the form was created.
        updated_at:
          type: string
          format: date-time
          description: ISO 8601 timestamp of when the form was last modified.
        last_edited_human:
          type: string
          description: Human-readable time since last edit (e.g., "2 hours ago").
        closes_at:
          type: string
          format: date-time
          nullable: true
          description: When the form will close for submissions.
        is_closed:
          type: boolean
          description: Whether the form is currently closed.
        max_submissions_count:
          type: integer
          minimum: 1
          nullable: true
          description: Maximum number of submissions allowed.
        max_number_of_submissions_reached:
          type: boolean
          description: Whether the submission limit has been reached.
        is_pro:
          type: boolean
          description: Whether the form's workspace has a Pro subscription.
        workspace_id:
          type: number
          description: ID of the workspace that owns the form.
        share_url:
          type: string
          format: uri
          description: Public URL to share the form.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Personal Access Token
      x-bearer-scopemap:
        workspaces-read: Read access to workspaces
        workspaces-write: Write access to workspaces
        workspace-users-read: Read access to workspace users
        workspace-users-write: Write access to workspace users
        forms-read: Read access to forms
        forms-write: Write access to forms
        manage-integrations: Manage form integrations (webhooks)

````