> You are reading the Docusign Developer Documentation. For clean Markdown of any page, append .md to the page URL.
>
> Documentation indexes by section:
> - APIs and SDKs: https://docusign.docs.buildwithfern.com/docs/llms.txt
> - Platform 101: https://docusign.docs.buildwithfern.com/platform/llms.txt
> - Extension Apps: https://docusign.docs.buildwithfern.com/extension-apps/llms.txt
> - Docusign CLI: https://docusign.docs.buildwithfern.com/docusign-cli/llms.txt
>
> Authentication (OAuth, JWT Grant, M2M): https://docusign.docs.buildwithfern.com/platform/auth
> Webhooks and Connect: https://docusign.docs.buildwithfern.com/platform/webhooks
>
> OpenAPI specifications: https://docusign.docs.buildwithfern.com/openapi.json
> MCP server: https://docusign.docs.buildwithfern.com/_mcp/server

# Get web form configuration

GET https://apps-d.docusign.com/api/webforms/v1.1/accounts/{accountId}/forms/{formId}

The Web Forms API is available in all developer accounts, but only in certain production account plans. Contact
[Docusign Support](https://support.docusign.com/s/?language=en_US) or your account manager to find out whether the Web Forms API is available for your production account plan.

Retrieves a web form configuration.

If you make changes to an active form configuration, the unchanged active version will also be maintained. The two versions will have the same `formId` but different `formState` values. Use the `state` query parameter to indicate which version to return.

[Required authentication scopes](/docs/web-forms-api/plan-integration/authentication/): `signature`, `webforms_read`.

Reference: https://developers.docusign.com/docs/web-forms-api/reference/webforms/configurations/getform

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Servers

- `https://apps-d.docusign.com/api/webforms` (Demo, default)
- `https://apps.docusign.com/api/webforms` (Production)

## Request

### Path parameters

- `accountId` (string, required) — The ID of the account to which the web form belongs.
- `formId` (string, required) — The ID of the web form configuration.

### Query parameters

- `state` (enum, optional, default: draft) — The state of the web form configuration. Valid values: - `active` - `draft`
  - Allowed values: `active`, `draft`

## Response

### 200

Web Form that represents a single active version with metadata

- `accountId` (string, optional) — Account identifier in which the webform resides
- `formContent` (WebFormContent, optional) — Container for the components map and future form data
- `formMetadata` (WebFormMetadata, optional) — Metadata for the web form.
- `formProperties` (WebFormProperties, optional) — Properties of the web form configuration that are consistent across versions.
- `formState` (enum, optional) — The state of the form content
  - Allowed values: `active`, `draft`
- `hasDraftChanges` (boolean, optional) — When `true`, the web form configuration has changes that are not yet published.
- `id` (string, optional) — Unique identifier for a webform entity that is consistent for it's lifetime
- `isEnabled` (boolean, optional) — When `true`, the web form configuration is activated. You can only create web form instances from enabled web forms.
- `isPublished` (boolean, optional) — Whether the form is published (`true` or `false`).
- `isUploaded` (boolean, optional) — Indicates whether the form was created through an upload.
- `versionId` (integer, optional) — Identifier for the version that can be used for display and retrieval in the API

## Errors

### 401 Unauthorized Error

The authentication information is either missing or invalid

- `errorCode` (string, optional) — A code indicating what error occurred. Possible values: * 400: Bad request * 401: Authentication information is missing or invalid * 403: Requestor not authorized * 404: Resource not found * 500: Internal server error * 503: Service is temporarily unavailable
- `message` (string, optional) — A human-readable description of the error.

### 404 Not Found Error

The requested resource was not found

- `errorCode` (string, optional) — A code indicating what error occurred. Possible values: * 400: Bad request * 401: Authentication information is missing or invalid * 403: Requestor not authorized * 404: Resource not found * 500: Internal server error * 503: Service is temporarily unavailable
- `message` (string, optional) — A human-readable description of the error.

### 500 Internal Server Error

Internal server error

- `errorCode` (string, optional) — A code indicating what error occurred. Possible values: * 400: Bad request * 401: Authentication information is missing or invalid * 403: Requestor not authorized * 404: Resource not found * 500: Internal server error * 503: Service is temporarily unavailable
- `message` (string, optional) — A human-readable description of the error.

## Types

### WebFormContent

Container for the components map and future form data

- `components` (map from string to WebFormContentComponents, optional) — A key-value dictionary of components representing the form. Each component object contains the following strings: * `componentKey`: Unique key that identifies the component. * `componentName`: The name used to map the component to external sources (max: 100 characters). * `componentType`: The type of component this object represents. Example: ``` { "components": { "Root_Of_Journey": { "componentKey": "Root_Of_Journey", "componentType": "Root", "children": [ "Step_abc123" ] }, "TextBox_ABC123": { "componentKey": "TextBox_ABC123", "componentType": "TextBox", "component_name": "FullName", "maxLength": 100, "multiLine": false, "placeholder": "Francis Beagle", "required": true }, "Step_abc123": { "componentKey": "Step_abc123", "componentType": "Step", "componentName": "Step_abc123", "text": "New patient data", "children": [ "TextBox_ABC123" ] } } } ```
- `isStandalone` (boolean, optional) — Is the form a standalone form
- `brandId` (string, optional) — Brand Id for web form
- `templates` (list of TemplateProperties, optional) — Information about the template used to create the web form configuration. If the web form is stand-alone, this property is an empty array.

### WebFormMetadata

Metadata for the web form.

- `source` (enum, optional) — The source from which the webform is created.
  - Allowed values: `templates`, `blank`, `form`
- `type` (enum, optional) — Indicates whether the web form is standalone or attached to an eSignature template.
  - Allowed values: `standalone`, `hasEsignTemplate`
- `sourceFormId` (string, optional) — Unique identifier for a webform entity that is consistent for it's lifetime
- `owner` (WebFormUserInfo, optional) — A DocuSign user within the account associated with the form.
- `sender` (WebFormUserInfo, optional) — A DocuSign user within the account associated with the form.
- `lastModifiedBy` (WebFormUserInfo, optional) — A DocuSign user within the account associated with the form.
- `formContentModifiedBy` (WebFormUserInfo, optional) — A DocuSign user within the account associated with the form.
- `formPropertiesModifiedBy` (WebFormUserInfo, optional) — A DocuSign user within the account associated with the form.
- `lastPublishedBy` (WebFormUserInfo, optional) — A DocuSign user within the account associated with the form.
- `lastEnabledBy` (WebFormUserInfo, optional) — A DocuSign user within the account associated with the form.
- `lastDisabledBy` (WebFormUserInfo, optional) — A DocuSign user within the account associated with the form.
- `archivedDateTime` (datetime, optional) — The UTC DateTime when the web form was last archived.
- `createdDateTime` (datetime, optional) — The UTC DateTime when the web form was created.
- `lastModifiedDateTime` (datetime, optional) — The UTC DateTime when the web form was last modified.
- `formContentModifiedDateTime` (datetime, optional) — The UTC DateTime when the web form content was last modified.
- `formPropertiesModifiedDateTime` (datetime, optional) — The UTC DateTime when the web form properties were last changed.
- `lastPublishedDateTime` (datetime, optional) — The UTC DateTime when a draft version was last published to active.
- `lastEnabledDateTime` (datetime, optional) — The UTC DateTime when the form was last enabled.
- `lastDisabledDateTime` (datetime, optional) — The UTC DateTime when the form was last disabled.
- `lastSenderConsentDateTime` (datetime, optional) — The most recent UTC DateTime that a user added their consent to [become a sender](https://support.docusign.com/s/document-item?language=en_US&bundleId=gmi1660583110357&topicId=ngb1680555719338.html) for the form.
- `publishedSlug` (string, optional) — A string that identifies the web form when made public. This value is consistent throughout the lifetime of the web form.
- `publishedComponentNames` (map from string to enum, optional) — Dictionary containing mapping of componentName to ADM type for all the published components
  - Allowed values: `CheckboxGroup`, `Date`, `Email`, `Number`, `RadioButtonGroup`, `Select`, `TextBox`, `FileInput`

### WebFormProperties

Properties of the web form configuration that are consistent across versions.

- `name` (string, optional) — User friendly Form name. This can be set via UI and/or API.
- `isPrivateAccess` (boolean, optional) — When a form is private, the Player will not be accessible via its URL unless a valid instance token is provided
- `allowSending` (boolean, optional) — When `true`, [remote web form instances](/docs/web-forms-api/plan-integration/deliver-remote-instances-to-users/) can be created from the web form configuration. Users access remote web form instances via an envelope email. When `false`, users can access web form instances only if the instances are embedded in a web application or if users are redirected from a web application to the Docusign platform. `allowSending` is `false` if any of the following is true: - The web form configuration is [standalone](/docs/web-forms-api/web-forms-101/instance-processing/#instance-processing-standalone-web-form-configurations) instead of [template-based](/docs/web-forms-api/web-forms-101/instance-processing/#instance-processing-template-based-web-form-configurations). - The web form configuration includes an attachment field. - The web form configuration was created using a release that did not support remote web form instances. See [Web form configuration support for remote web form instances](/docs/web-forms-api/plan-integration/retrieve-configuration-details/#web-form-configuration-support-for-remote-web-form-instances) for more information.

### WebFormContentComponents

Each component type contains additional properties

- `componentKey` (string, required) — The unique key of the component
- `componentType` (string, required) — The type of component this object represents
- `componentName` (string, optional) — Name value that is used for mapping components to external sources

### TemplateProperties

Information about the template used to create the web form configuration.

- `originalTemplateId` (string, optional)
- `clonedTemplateId` (string, optional)
- `importedDateTime` (datetime, optional) — The DateTime at which the template information was assigned to the web form configuration.
- `recipientIds` (list of string, optional) — An array of recipient IDs mapped by the template. Example: `["12345678", "23456789"]`

### WebFormUserInfo

A DocuSign user within the account associated with the form.

- `userId` (string, optional) — DocuSign user identifier
- `userName` (string, optional) — The user's name that will be displayed in the UI. The maximum length is 150 characters.

## Examples

**Response**

```json
{
  "accountId": "00000000-0000-0000-0000-000000000000",
  "formContent": {
    "components": {
      "Root_Of_Journey": {
        "componentKey": "Root_Of_Journey",
        "componentType": "Root",
        "children": [
          "Step_abc123"
        ]
      },
      "Step_abc123": {
        "componentKey": "Step_abc123",
        "componentType": "Step",
        "componentName": "Step_abc123",
        "text": "Patient Demographics"
      },
      "TextBox_ABC123": {
        "componentKey": "TextBox_ABC123",
        "componentType": "TextBox",
        "componentName": "Full_Name",
        "label": "Full Name",
        "maxLength": 100,
        "multiLine": false,
        "placeholder": "John Adams",
        "required": true
      }
    },
    "isStandalone": true,
    "brandId": "00000000-0000-0000-0000-000000000000",
    "templates": [
      {
        "originalTemplateId": "00000000-0000-0000-0000-000000000000",
        "clonedTemplateId": "00000000-0000-0000-0000-000000000000",
        "importedDateTime": "2024-01-15T09:30:00Z",
        "recipientIds": [
          "string"
        ]
      }
    ]
  },
  "formMetadata": {
    "source": "templates",
    "owner": {
      "userId": "00000000-0000-0000-0000-000000000000",
      "userName": "DocuSign User"
    },
    "sender": {
      "userId": "00000000-0000-0000-0000-000000000000",
      "userName": "Sam Sender"
    },
    "formContentModifiedBy": {
      "userId": "00000000-0000-0000-0000-000000000000",
      "userName": "Mary Modifier"
    },
    "formPropertiesModifiedBy": {
      "userId": "00000000-0000-0000-0000-000000000000",
      "userName": "Fred Modifier"
    },
    "lastPublishedBy": {
      "userId": "00000000-0000-0000-0000-000000000000",
      "userName": "Pam Publisher"
    },
    "lastEnabledBy": {
      "userId": "00000000-0000-0000-0000-000000000000",
      "userName": "Everly Enabler"
    },
    "lastDisabledBy": {
      "userId": "00000000-0000-0000-0000-000000000000",
      "userName": "Dan Disabler"
    },
    "archivedDateTime": "2022-01-01T10:30:00Z",
    "createdDateTime": "2021-09-01T10:30:00Z",
    "lastModifiedDateTime": "2021-09-01T10:30:00Z",
    "formContentModifiedDateTime": "2021-09-01T10:30:00Z",
    "formPropertiesModifiedDateTime": "2021-09-01T10:30:00Z",
    "lastPublishedDateTime": "2021-09-01T10:30:00Z",
    "lastEnabledDateTime": "2021-09-01T10:30:00Z",
    "lastDisabledDateTime": "2021-09-01T10:30:00Z",
    "lastSenderConsentDateTime": "2021-09-01T10:30:00Z",
    "publishedSlug": "a535041793dd266079763bbf1c965292"
  },
  "formProperties": {
    "name": "Patient Intake Forms",
    "isPrivateAccess": true,
    "allowSending": true
  },
  "formState": "active",
  "hasDraftChanges": true,
  "id": "00000000-0000-0000-0000-000000000000",
  "isEnabled": true,
  "isPublished": true,
  "isUploaded": true,
  "versionId": 1
}
```