> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usecobalt.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Forms

> Returns cached form metadata for the account.

Returns the metadata for every form Cobalt has cached for your account — id, name, type, version, and status. The full form definition (categories, questions, answers) is not included here; fetch it for a single form with [`GET /v1/forms/{id}`](/api-reference/forms/get-by-id).

Forms are cached by a sync. Trigger an on-demand refresh with [`POST /v1/forms/fetch`](/api-reference/forms/fetch); a daily scheduler also keeps the cache current.

<Note>
  Forms are currently supported for **Credible**.
</Note>

### When to use this

Use the list to find the form you want to document a service with. The `emr_form_id` of the chosen form is the `form_id` you pass to [`POST /v1/services`](/api-reference/services/create). Then read that form's definition to get the question ids for the service `answers`.

### Example Request

```bash theme={null}
curl https://api.usecobalt.com/v1/forms \
-H 'client_id: ci_live_198908HJDKJSH98789OHKJL' \
-H 'client_secret: cs_live_9827hofdsklOYYHJLJh' \
-H 'access_token: 493JKLHIU98789hLKH9HHJH'
```

### Example Response

```json theme={null}
{
    "success": true,
    "forms": [
        {
            "id": "123e4567-e89b-12d3-a456-426614174000",
            "emr_form_id": "392",
            "emr_fvid": "1045",
            "name": "GAD-7",
            "type": "Assessment",
            "version": "3",
            "status": "Active",
            "build_date": "2026-01-15",
            "synced_at": "2026-08-26T09:00:00.000Z",
            "created_at": "2026-01-20T12:00:00.000Z",
            "updated_at": "2026-08-26T09:00:00.000Z"
        }
    ]
}
```

The fields on each form:

* **id**: Cobalt form id (UUID). Use this with [`GET /v1/forms/{id}`](/api-reference/forms/get-by-id).
* **emr\_form\_id**: The form's id in the EMR. This is the `form_id` you pass to [`POST /v1/services`](/api-reference/services/create).
* **emr\_fvid**: The EMR form-version id, or `null`.
* **name**: Form name.
* **type**, **version**, **status**, **build\_date**: Form metadata from the EMR (any may be `null`).
* **synced\_at**: When the form was last synced into the cache.


## OpenAPI

````yaml GET /forms
openapi: 3.0.0
info:
  title: Cobalt API
  version: 1.0.1
  description: API for interacting with Cobalt's EHR integration services
servers:
  - url: https://api.usecobalt.com/v1
security:
  - ClientCredentials: []
    ClientSecret: []
    AccessToken: []
paths:
  /forms:
    get:
      summary: List Forms
      description: >-
        Returns cached form metadata (id, name, type, version, status) for the
        account. The full form definition is not included; use GET /forms/{id}
        for a single form's definition. Currently supported for Credible.
      responses:
        '200':
          description: Cached form metadata for the account
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  forms:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Cobalt form id (UUID). Use with GET /forms/{id}.
                          example: 123e4567-e89b-12d3-a456-426614174000
                        emr_form_id:
                          type: string
                          description: >-
                            The form's id in the EMR. This is the form_id passed
                            to POST /services.
                          example: '392'
                        emr_fvid:
                          type: string
                          nullable: true
                          description: EMR form-version id.
                          example: '1045'
                        name:
                          type: string
                          example: GAD-7
                        type:
                          type: string
                          nullable: true
                          example: Assessment
                        version:
                          type: string
                          nullable: true
                          example: '3'
                        status:
                          type: string
                          nullable: true
                          example: Active
                        build_date:
                          type: string
                          nullable: true
                          example: '2026-01-15'
                        synced_at:
                          type: string
                          nullable: true
                          description: When the form was last synced into the cache.
                          example: '2026-08-26T09:00:00.000Z'
                        created_at:
                          type: string
                          nullable: true
                          example: '2026-01-20T12:00:00.000Z'
                        updated_at:
                          type: string
                          nullable: true
                          example: '2026-08-26T09:00:00.000Z'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                    example: Error fetching forms.
components:
  securitySchemes:
    ClientCredentials:
      type: apiKey
      in: header
      name: client_id
    ClientSecret:
      type: apiKey
      in: header
      name: client_secret
    AccessToken:
      type: apiKey
      in: header
      name: access_token

````