# Read one form

One form whole: its questions with the record column each maps to, its sections, its settings, its slug and whether it is published. Read it before patching — a PATCH replaces fields, sections and settings entire, so you have to hold the current list to change one line of it.

Access class: `workspace`.

## Endpoint

`GET /v1/forms/{id}`

## Parameters

| Name | In | Type | Required |
| --- | --- | --- | --- |
| id | path | string | Yes |
| body | query | null | No |
| params | query | object | No |
| query | query | object | No |

## Responses

### 200

the action's answer

Content type: `application/json`.

```json
{
  "data": {
    "createdAt": "string",
    "createdBy": "string",
    "description": "string",
    "fields": [
      {
        "column": "string",
        "documentType": "string",
        "entityType": "string",
        "id": "",
        "kind": "string",
        "label": "string",
        "options": "string",
        "placeholder": "string",
        "required": "string"
      }
    ],
    "id": "",
    "name": "string",
    "publishedAt": "string",
    "sections": [
      {
        "fieldIds": "string",
        "title": "string"
      }
    ],
    "settings": {
      "analytics": true,
      "automations": [
        "string"
      ],
      "branding": "string",
      "pacing": "string",
      "postSubmit": "string",
      "saveDrafts": true,
      "signature": "string",
      "theme": "string"
    },
    "slug": "string",
    "sourceUrl": "string",
    "stats": {
      "submissions": 1,
      "views": 1
    },
    "status": "string",
    "targetDefinitionKey": "string",
    "updatedAt": "string"
  }
}
```

### default

a refusal: `{"error": "<what a person needs to read>"}`. 401 no credential, 402 the plan does not include this, 403 the seat does not, 404 the thing does not exist or is not yours to see.

Content type: `application/json`.

```json
{
  "error": "string"
}
```
