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

# Mintlify Integration for AI Agents & Workflows

> Documentation platform with AI-powered assistant, semantic search, and project update triggers.

{/* Self-hosted logo — build-time vendored from modulex.json / Iconify (see scripts/lib/logo.js). */}

<img src="https://mintcdn.com/modulexaillc/df8MOr-hXotYLTh5/logos/mintlify.svg?fit=max&auto=format&n=df8MOr-hXotYLTh5&q=85&s=1b6fa70e7e92ae478199d8359b0e997e" alt="Mintlify logo" width="72" height="72" data-path="logos/mintlify.svg" />

## Overview

Add **Mintlify** to any ModuleX agent or workflow. Documentation platform with AI-powered assistant chat, semantic search, and project update triggers against the Mintlify REST APIs (`api-dsc.mintlify.com/v1` and `api.mintlify.com/v1`).

<Info>
  **Categories**: Developer Tools & Infrastructure · Documentation · **Auth**: Mintlify API Keys · **Actions**: 3
</Info>

## Authentication

### Mintlify API Keys

Authenticate using Mintlify assistant API key, admin API key, and project ID. Different actions use different credentials.

#### Required Credentials

| Field             | Description                                                    | Required | Format |
| ----------------- | -------------------------------------------------------------- | -------- | ------ |
| Assistant API Key | Your Mintlify Assistant API key for chat and search endpoints. | Yes      | `-`    |
| Admin API Key     | Your Mintlify Admin API key for triggering project updates.    | Yes      | `-`    |
| Project ID        | Your Mintlify project ID used for update triggers.             | Yes      | `-`    |

## Available Actions

<AccordionGroup>
  <Accordion title="chat_with_assistant — Generates a response message from the assistant for the specified domain.">
    ### Parameters

    <ResponseField name="domain" type="string" required>
      The domain identifier from your domain.mintlify.app URL. Can be found in the top left of your dashboard.
    </ResponseField>

    <ResponseField name="fp" type="string" required>
      Browser fingerprint or arbitrary string identifier for message tracking.
    </ResponseField>

    <ResponseField name="message" type="string" required>
      The content of the message to send to the assistant.
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "message_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message Id"
        },
        "response": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Response"
        }
      },
      "required": [
        "success"
      ],
      "title": "ChatWithAssistantOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="search_documentation — Perform semantic and keyword searches across your documentation.">
    ### Parameters

    <ResponseField name="domain" type="string" required>
      The domain identifier from your domain.mintlify.app URL. Can be found in the top left of your dashboard.
    </ResponseField>

    <ResponseField name="query" type="string" required>
      The search query to execute against your documentation content.
    </ResponseField>

    <ResponseField name="page_size" type="integer">
      Number of search results to return. Defaults to 10 if not specified.
    </ResponseField>

    <ResponseField name="version" type="string">
      Filter results by documentation version.
    </ResponseField>

    <ResponseField name="language" type="string">
      Filter results by content language.
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "SearchResultItem": {
          "additionalProperties": false,
          "description": "A single search result from the documentation.",
          "properties": {
            "title": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Title"
            },
            "url": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Url"
            },
            "content": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Content"
            },
            "score": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Score"
            }
          },
          "title": "SearchResultItem",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "results": {
          "items": {
            "$ref": "#/$defs/SearchResultItem"
          },
          "title": "Results",
          "type": "array"
        },
        "total": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Total"
        }
      },
      "required": [
        "success"
      ],
      "title": "SearchDocumentationOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="trigger_update — Trigger an update for a project.">
    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "data": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Data"
        }
      },
      "required": [
        "success"
      ],
      "title": "TriggerUpdateOutput",
      "type": "object"
    }
    ```
  </Accordion>
</AccordionGroup>

## Limits & Quotas

* No publicly documented rate limits for the Mintlify API.
* Error model: non-2xx responses and timeouts are caught and returned as `success=False` + `error` rather than raising.

## Related integrations

<CardGroup cols={3}>
  <Card title="Algolia" href="/integrations/tools/algolia" />

  <Card title="Amazon Web Services" href="/integrations/tools/aws" />

  <Card title="Apify" href="/integrations/tools/apify" />
</CardGroup>

## Links

* [Mintlify](https://www.mintlify.com)
