# forms

A **Sheetgo form** collects data straight into a workflow. Its fields come from your spreadsheet's columns, and every submission is appended as a new row — a simple way to feed a workflow from people instead of another system.

Use these endpoints to **list** a workflow's forms and **read** their configuration.

Base URL: `https://dev-api.sheetgo.com`. Paths are complete, version included (`/rest/beta/...`): append them to the base URL exactly as shown. Start page: https://dev-api.sheetgo.com/rest/reference.md

This page documents every endpoint of the group. Request and response shapes link to model pages; fetch the model pages an endpoint links before building a body.

Guide: [Rate Limiting](https://dev-api.sheetgo.com/rest/guides/rate-limiting.md)

Every endpoint is rate limited; see the guide [Rate Limiting](https://dev-api.sheetgo.com/rest/guides/rate-limiting.md).

<a id="get-rest-beta-workflows-workflow-id-forms-form-id"></a>
## GET /rest/beta/workflows/{workflow_id}/forms/{form_id}

**Get a form**

Returns the form model data

Authentication, any one of: `default`; `Developer Access`; `sheetgo-api-key`.

**Parameters**

| Name | In | Type | Required | Description | Allowed values / default / constraints |
| --- | --- | --- | --- | --- | --- |
| `workflow_id` | path | string | yes | Workflow identification |  |
| `form_id` | path | string | yes | Form identification |  |

**Responses**

- `200` The form model data. Schema: [FormModel](https://dev-api.sheetgo.com/rest/reference/models/FormModel.md)
- `404` Not found
- `401` Authentication failed or token is invalid
- `422` Validation Error. Schema: [HTTPValidationError](https://dev-api.sheetgo.com/rest/reference/models/HTTPValidationError.md)

Read next: [FormModel](https://dev-api.sheetgo.com/rest/reference/models/FormModel.md), [HTTPValidationError](https://dev-api.sheetgo.com/rest/reference/models/HTTPValidationError.md).

<a id="patch-rest-beta-workflows-workflow-id-forms-form-id"></a>
## PATCH /rest/beta/workflows/{workflow_id}/forms/{form_id}

**Update an existing form**

Patches form data

Authentication, any one of: `default`; `Developer Access`; `sheetgo-api-key`.

**Parameters**

| Name | In | Type | Required | Description | Allowed values / default / constraints |
| --- | --- | --- | --- | --- | --- |
| `workflow_id` | path | string | yes | Workflow identification |  |
| `form_id` | path | string | yes | Form identification |  |

**Request body**

Content type `application/json`. Optional.

Body: [FormPatch](https://dev-api.sheetgo.com/rest/reference/models/FormPatch.md)

**Responses**

- `200` The form model patched. Schema: [FormModel](https://dev-api.sheetgo.com/rest/reference/models/FormModel.md)
- `404` Not found
- `401` Authentication failed or token is invalid
- `422` Validation Error. Schema: [HTTPValidationError](https://dev-api.sheetgo.com/rest/reference/models/HTTPValidationError.md)

Read next: [FormModel](https://dev-api.sheetgo.com/rest/reference/models/FormModel.md), [FormPatch](https://dev-api.sheetgo.com/rest/reference/models/FormPatch.md), [HTTPValidationError](https://dev-api.sheetgo.com/rest/reference/models/HTTPValidationError.md).

<a id="delete-rest-beta-workflows-workflow-id-forms-form-id"></a>
## DELETE /rest/beta/workflows/{workflow_id}/forms/{form_id}

**Delete a form**

Deletes a form

Authentication, any one of: `default`; `Developer Access`; `sheetgo-api-key`.

**Parameters**

| Name | In | Type | Required | Description | Allowed values / default / constraints |
| --- | --- | --- | --- | --- | --- |
| `workflow_id` | path | string | yes | Workflow identification |  |
| `form_id` | path | string | yes | Form identification |  |

**Responses**

- `200` The form was successfully deleted. Schema: [SuccessResponse](https://dev-api.sheetgo.com/rest/reference/models/SuccessResponse.md)
- `404` Not found
- `401` Authentication failed or token is invalid
- `422` Validation Error. Schema: [HTTPValidationError](https://dev-api.sheetgo.com/rest/reference/models/HTTPValidationError.md)

Read next: [HTTPValidationError](https://dev-api.sheetgo.com/rest/reference/models/HTTPValidationError.md), [SuccessResponse](https://dev-api.sheetgo.com/rest/reference/models/SuccessResponse.md).

<a id="get-rest-beta-workflows-workflow-id-forms-form-id-responses"></a>
## GET /rest/beta/workflows/{workflow_id}/forms/{form_id}/responses

**Get a form's responses (paginated)**

Return the form's responses (from its first target spreadsheet), paginated.

Authentication, any one of: `default`; `Developer Access`; `sheetgo-api-key`.

**Parameters**

| Name | In | Type | Required | Description | Allowed values / default / constraints |
| --- | --- | --- | --- | --- | --- |
| `workflow_id` | path | string | yes | Workflow identification |  |
| `form_id` | path | string | yes | Form identification |  |
| `page` | query | integer | no | Page number | default: `1`; min: 1 |
| `per_page` | query | integer | no | Items per page | default: `50`; min: 1; max: 100 |
| `strip_tags` | query | boolean | no | Strip trailing ' [config]' tags from response headers | default: `false` |

**Responses**

- `200` Paginated form responses. Schema: [PaginatedResponse](https://dev-api.sheetgo.com/rest/reference/models/PaginatedResponse.md)
- `404` Form or workflow not found
- `401` Authentication failed or token is invalid
- `422` Validation Error. Schema: [HTTPValidationError](https://dev-api.sheetgo.com/rest/reference/models/HTTPValidationError.md)

Read next: [HTTPValidationError](https://dev-api.sheetgo.com/rest/reference/models/HTTPValidationError.md), [PaginatedResponse](https://dev-api.sheetgo.com/rest/reference/models/PaginatedResponse.md).

<a id="head-rest-beta-workflows-workflow-id-forms-form-id-responses"></a>
## HEAD /rest/beta/workflows/{workflow_id}/forms/{form_id}/responses

**Inspect a form's responses metadata without downloading them**

Return response count / columns / last-modified in headers, no body.

Authentication, any one of: `default`; `Developer Access`; `sheetgo-api-key`.

**Parameters**

| Name | In | Type | Required | Description | Allowed values / default / constraints |
| --- | --- | --- | --- | --- | --- |
| `workflow_id` | path | string | yes | Workflow identification |  |
| `form_id` | path | string | yes | Form identification |  |
| `strip_tags` | query | boolean | no | Strip trailing ' [config]' tags from response headers | default: `false` |

**Responses**

- `200` Response metadata in X-Sheetgo-* headers
- `404` Form or workflow not found
- `401` Authentication failed or token is invalid
- `422` Validation Error. Schema: [HTTPValidationError](https://dev-api.sheetgo.com/rest/reference/models/HTTPValidationError.md)

Read next: [HTTPValidationError](https://dev-api.sheetgo.com/rest/reference/models/HTTPValidationError.md).

<a id="get-rest-beta-workflows-workflow-id-forms"></a>
## GET /rest/beta/workflows/{workflow_id}/forms/

**Get a paginated list of forms**

Return a list of forms following the pagination parameters

Authentication, any one of: `default`; `Developer Access`; `sheetgo-api-key`.

**Parameters**

| Name | In | Type | Required | Description | Allowed values / default / constraints |
| --- | --- | --- | --- | --- | --- |
| `workflow_id` | path | string | yes | Workflow identification |  |
| `page` | query | integer | no | Page number, 1-based | default: `1`; min: 1 |
| `per_page` | query | integer | no | Number of items per page (1-100; values above 100 are clamped to 100 and the effective size is echoed in the response) | default: `50`; min: 1 |

**Responses**

- `200` A paginated list of forms. Schema: [PaginatedResponse_FormModel_](https://dev-api.sheetgo.com/rest/reference/models/PaginatedResponse_FormModel_.md)
- `404` Not found
- `401` Authentication failed or token is invalid
- `422` Validation Error. Schema: [HTTPValidationError](https://dev-api.sheetgo.com/rest/reference/models/HTTPValidationError.md)

Read next: [HTTPValidationError](https://dev-api.sheetgo.com/rest/reference/models/HTTPValidationError.md), [PaginatedResponse_FormModel_](https://dev-api.sheetgo.com/rest/reference/models/PaginatedResponse_FormModel_.md).

<a id="post-rest-beta-workflows-workflow-id-forms"></a>
## POST /rest/beta/workflows/{workflow_id}/forms/

**Create a new form**

Create a new form

Authentication, any one of: `default`; `Developer Access`; `sheetgo-api-key`.

**Parameters**

| Name | In | Type | Required | Description | Allowed values / default / constraints |
| --- | --- | --- | --- | --- | --- |
| `workflow_id` | path | string | yes | Workflow identification |  |

**Request body**

Content type `application/json`. Optional.

Body: [FormCreate](https://dev-api.sheetgo.com/rest/reference/models/FormCreate.md)

**Responses**

- `200` The form model created. Schema: [FormModel](https://dev-api.sheetgo.com/rest/reference/models/FormModel.md)
- `404` Not found
- `401` Authentication failed or token is invalid
- `422` Validation Error. Schema: [HTTPValidationError](https://dev-api.sheetgo.com/rest/reference/models/HTTPValidationError.md)

Read next: [FormCreate](https://dev-api.sheetgo.com/rest/reference/models/FormCreate.md), [FormModel](https://dev-api.sheetgo.com/rest/reference/models/FormModel.md), [HTTPValidationError](https://dev-api.sheetgo.com/rest/reference/models/HTTPValidationError.md).

---

More: start page https://dev-api.sheetgo.com/rest/reference.md, everything in one file https://dev-api.sheetgo.com/rest/llms-full.txt, OpenAPI https://dev-api.sheetgo.com/rest/openapi.json.
