---
title: "List Forms"
method: GET
path: "/forms"
tags: ["Forms"]
---

# List Forms

`GET /forms`

List all forms

## Query parameters

- `status` FormStatus[] — If provided, only return forms with the given status.
- `-status` FormStatus[] — If provided, only return forms without the given status.
- `admin` boolean — If provided, filter by admin-only flag.
- `ordering` 'creation_date' | '-creation_date' | 'title' | '-title' | 'slug' | '-slug' | 'status' | '-status' — The ordering to apply to the results.
- `page` integer — The page number of the paginated response.

## Response `200`

OK

- FormPage
  - `results` Form[], required — The list of results for this page.
    - `id` string, required — A unique TypeID associated with the object.
    - `creation_date` string, date-time, required — The date and time at which the object was first created.
    - `title` string, required — The human-readable title of the form, shown in the UI and on the hosted form page.
    - `slug` string, required — A URL-safe identifier used in the form's hosted URL (e.g. `/forms/{slug}`). Must be unique per newsletter.
    - `body` string, required — Markdown body rendered above the subscribe fields on the hosted form page.
    - `css` string, required — Custom CSS applied to the hosted form page.
    - `success_body` string, required — Markdown shown to the subscriber after a successful submission.
    - `surveys` string[], required — IDs of surveys to attach to this form. Responses are associated with the submitting subscriber.
    - `admin` boolean, required — If true, the form acts as an admin-only signup form — it skips confirmation and can accept additional subscriber fields.
    - `status` 'active' | 'inactive', required — An enumeration.
    - `subscriber_count` integer, required — The number of subscribers who signed up through this form.
    - `confirmed_subscriber_count` integer, required — The number of confirmed subscribers who signed up through this form.
    - `page_view_count` integer, required — The number of page views for this form.
  - `next` string, nullable — The URL to the next page of results, if any.
  - `previous` string, nullable — The URL to the previous page of results, if any.
  - `count` integer, required — The total number of results across all pages.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `409` — Conflict
- `429` — Too Many Requests

---

[API](https://skmtc.net/buttondown/apis/buttondown-api.md) · [All operations](https://skmtc.net/buttondown/apis/buttondown-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/buttondown/buttondown-api/versions/3a702c095d22/schema)
