---
title: "List forms bound to a Base"
method: GET
path: "/api/v1/forms"
tags: ["Forms"]
---

# List forms bound to a Base

`GET /api/v1/forms`

## Request

- Base URL: `https://api-docs.busabase.com`
- URL: `https://api-docs.busabase.com/api/v1/forms`
- Auth: none declared

## Query parameters

- `targetBaseId` string, required: The Base the forms WRITE INTO — required; this is not a space-wide listing.
- `limit` integer: Forms per page. Capped at 100; ask for the next page with `cursor`.
- `cursor` string: Opaque page cursor: pass back the `nextCursor` from the previous response. Do not construct or parse it.

## Response `200`

A newest-first page of forms with a stable opaque cursor (null at the end).

- object
  - `forms` object[], required
    - `id` string, required
    - `nodeId` string, required
    - `spaceId` string, required
    - `targetBaseId` string, required
    - `name` string, required
    - `description` string, required
    - `bindings` object[], required
      - `inputName` string, required
      - `fieldSlug` string, required
      - `required` boolean
      - `label` string
      - `help` string
    - `boundFields` object[]
      - `slug` string, required
      - `name` union, required
        - string
        - object
      - `type` 'text' | 'longtext' | 'markdown' | 'html' | 'attachment' | 'relation' | 'member' | 'number' | 'date' | 'checkbox' | 'select' | 'multiselect' | 'url' | 'embed' | 'email' | 'phone' | 'created_time' | 'updated_time' | 'created_by' | 'updated_by' | 'auto_number' | 'ai_summary' | 'ai_tags' | 'code' | 'json' | 'yaml' | 'formula' | 'lookup' | 'whiteboard', required
      - `help` object
        - `description` string
        - `example` string
      - `choices` object[]
        - `id` string, required
        - `name` string, required
      - `date` object
        - `includeTime` boolean
        - `timezone` string
    - `page` object, required
      - `code` string
      - `theme` object
        - `logoUrl` string
        - `coverUrl` string
        - `brandColor` string
        - `hideBranding` boolean
    - `share` object, required
      - `isPublic` boolean
      - `anonymousSubmit` boolean
      - `requireCaptcha` boolean
    - `submissionCount` integer
    - `status` 'active' | 'archived', required
    - `createdBy` string, required
    - `createdAt` string, required
    - `updatedAt` string, required
  - `nextCursor` string, required

---

[API](https://skmtc.dev/busabase/apis/busabase-api.md) · [All operations](https://skmtc.dev/busabase/apis/busabase-api/llms.txt) · [OpenAPI document](https://skmtc.dev/busabase/apis/busabase-api/revisions/bc6a7d5ff4c1?raw)
