> 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 forms in form library

GET https://demo.rooms.docusign.com/restapi/v2/accounts/{accountId}/form_libraries/{formLibraryId}/forms

Returns a list of forms to which the current user has access in the specified form library.

### Related topics

- [How to add forms to a room](/docs/rooms-api/how-to/add-form-to-room/)
- [How to create an external form fillable session](/docs/rooms-api/how-to/external-form-fill/)
- [How to assign a form to a form group](/docs/rooms-api/how-to/assign-form-group/)

Reference: https://developers.docusign.com/docs/rooms-api/reference/forms/formlibraries/getformlibraryforms

## Authentication

- `Authorization` header (required) — JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer \{token}"

## Servers

- `https://demo.rooms.docusign.com/restapi` (Demo, default)
- `https://rooms.docusign.com/restapi` (Production)

## Request

### Path parameters

- `formLibraryId` (string, required) — The ID of the form library. Example: `402c6e2f-xxxx-xxxx-xxxx-ff3f249f6da9`
- `accountId` (string, required) — The globally unique identifier (GUID) for the account.

### Query parameters

- `count` (integer, optional, default: 100) — The number of results to return. This value must be a number between `1` and `100` (default).
- `startPosition` (integer, optional, default: 0) — (Optional) The starting zero-based index position of the results set. The default value is `0`.

## Response

### 200

Successfully retrieved library forms.

- `forms` (list of FormSummary, optional) — A list of forms.
- `resultSetSize` (integer, optional) — The number of results returned in this response.
- `startPosition` (integer, optional) — The starting zero-based index position of the results set. When this property is used as a query parameter, the default value is `0`.
- `endPosition` (integer, optional) — The last zero-based index position in the result set.
- `nextUri` (string, optional) — The URI for the next chunk of records based on the search request. This property is `null` for the last set of search results.
- `priorUri` (string, optional) — The URI for the previous chunk of records based on the search request. This property is `null` for the first set of search results.
- `totalRowCount` (integer, optional) — The number of results in this reponse.

## Errors

### 400 Bad Request Error

Bad request. See ErrorCode and Message for details

- `errorCode` (string, optional) — The code associated with the error condition.
- `message` (string, optional) — A brief message describing the error condition.
- `referenceId` (string, optional)

### 401 Unauthorized Error

Not authorized to make this request.

- `errorCode` (string, optional) — The code associated with the error condition.
- `message` (string, optional) — A brief message describing the error condition.
- `referenceId` (string, optional)

## Types

### FormSummary

Contains details about a form in a form library.

- `libraryFormId` (string, optional) — The ID of the form. Example: `301f560d-xxxx-xxxx-xxxx-063a47cc12c2`
- `name` (string, optional) — The name of the form. Example: `Short Sale Supplement to Marketing Agreement`
- `lastUpdatedDate` (datetime, optional) — The date and time when the form was last updated. Example: `2017-08-11T19:58:36.18`
- `viewingUserHasAccess` (boolean, optional) — When **true,** the viewing user can access the form.

## Examples

**Response**

```json
{
  "forms": [
    {
      "libraryFormId": "string",
      "name": "string",
      "lastUpdatedDate": "2024-01-15T09:30:00Z",
      "viewingUserHasAccess": true
    }
  ],
  "resultSetSize": 1,
  "startPosition": 1,
  "endPosition": 1,
  "nextUri": "string",
  "priorUri": "string",
  "totalRowCount": 1
}
```