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

# List Functions

> Retrieve all functions or function list with user information

## Endpoints

### Get Functions

<CodeGroup>
  ```bash GET /api/functions/ theme={null}
  curl -X GET "https://your-instance.com/api/functions/" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```
</CodeGroup>

Returns a list of all functions available in the system.

#### Response

<ResponseField name="functions" type="array">
  Array of function objects

  <Expandable title="FunctionResponse properties">
    <ResponseField name="id" type="string" required>
      Unique identifier for the function
    </ResponseField>

    <ResponseField name="user_id" type="string" required>
      ID of the user who created the function
    </ResponseField>

    <ResponseField name="type" type="string" required>
      Function type (e.g., "filter", "action")
    </ResponseField>

    <ResponseField name="name" type="string" required>
      Display name of the function
    </ResponseField>

    <ResponseField name="meta" type="object" required>
      Function metadata

      <Expandable title="meta properties">
        <ResponseField name="description" type="string">
          Function description
        </ResponseField>

        <ResponseField name="manifest" type="object">
          Function manifest data
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="is_active" type="boolean" required>
      Whether the function is currently active
    </ResponseField>

    <ResponseField name="is_global" type="boolean" required>
      Whether the function is globally available
    </ResponseField>

    <ResponseField name="updated_at" type="integer" required>
      Unix timestamp of last update
    </ResponseField>

    <ResponseField name="created_at" type="integer" required>
      Unix timestamp of creation
    </ResponseField>
  </Expandable>
</ResponseField>

### Get Function List (Admin)

<CodeGroup>
  ```bash GET /api/functions/list theme={null}
  curl -X GET "https://your-instance.com/api/functions/list" \
    -H "Authorization: Bearer YOUR_ADMIN_API_KEY"
  ```
</CodeGroup>

Returns a detailed list of functions with user information. Requires admin privileges.

#### Response

<ResponseField name="functions" type="array">
  Array of function objects with user details

  <Expandable title="FunctionUserResponse properties">
    <ResponseField name="id" type="string" required>
      Function identifier
    </ResponseField>

    <ResponseField name="user_id" type="string" required>
      Creator user ID
    </ResponseField>

    <ResponseField name="type" type="string" required>
      Function type
    </ResponseField>

    <ResponseField name="name" type="string" required>
      Function name
    </ResponseField>

    <ResponseField name="content" type="string" required>
      Function source code
    </ResponseField>

    <ResponseField name="meta" type="object" required>
      Function metadata
    </ResponseField>

    <ResponseField name="is_active" type="boolean" required>
      Active status
    </ResponseField>

    <ResponseField name="is_global" type="boolean" required>
      Global availability
    </ResponseField>

    <ResponseField name="user" type="object">
      User information of the function creator
    </ResponseField>

    <ResponseField name="updated_at" type="integer" required>
      Last update timestamp
    </ResponseField>

    <ResponseField name="created_at" type="integer" required>
      Creation timestamp
    </ResponseField>
  </Expandable>
</ResponseField>

### Export Functions (Admin)

<CodeGroup>
  ```bash GET /api/functions/export theme={null}
  curl -X GET "https://your-instance.com/api/functions/export?include_valves=true" \
    -H "Authorization: Bearer YOUR_ADMIN_API_KEY"
  ```
</CodeGroup>

Export all functions, optionally including valve configurations.

#### Query Parameters

<ParamField query="include_valves" type="boolean" default="false">
  Include valve configurations in the export
</ParamField>

#### Response

Returns an array of `FunctionModel` or `FunctionWithValvesModel` objects depending on the `include_valves` parameter.

## Authentication

All endpoints require authentication via bearer token. The `/list` and `/export` endpoints require admin privileges.
