# Fluent > Build and run agents with Fluent. - [Fluent](https://www.fluenterp.com/docs/introduction.md): Run Fluent agents from your applications, scripts, and automation. - [Quickstart](https://www.fluenterp.com/docs/quickstart.md): Authenticate, choose an agent, and run it from the CLI. - [Authentication](https://www.fluenterp.com/docs/guides/authentication.md): Choose OAuth for people and API keys for unattended workloads. - [Agents](https://www.fluenterp.com/docs/guides/agent-runs.md): Upload files, create an asynchronous run, and retrieve its documents. - [MCP server](https://www.fluenterp.com/docs/guides/mcp.md): Connect an MCP client to a Fluent agent's tools. - [CLI](https://www.fluenterp.com/docs/cli/overview.md): Run Fluent agents interactively or from automation. - [Webhooks overview](https://www.fluenterp.com/docs/guides/webhooks.md): Receive signed document, approval, and API-run events from Fluent. - [Webhook event catalog](https://www.fluenterp.com/docs/guides/webhook-events.md): Understand every document, approval, and API-run event emitted by Fluent. - [Webhook payloads](https://www.fluenterp.com/docs/guides/webhook-payloads.md): Reference the request headers, common envelope, and event-family payloads. - [Webhook delivery and security](https://www.fluenterp.com/docs/guides/webhook-delivery.md): Verify signatures and safely handle retries, duplicates, ordering, and endpoint failures. - [API overview](https://www.fluenterp.com/docs/api-reference/overview.md): Conventions shared by Fluent's public `/api/v1` endpoints. - [Errors and rate limits](https://www.fluenterp.com/docs/api-reference/errors-and-rate-limits.md): Handle Fluent API failures and throttling consistently. - [Versioning and deprecation](https://www.fluenterp.com/docs/api-reference/versioning.md): What can change under /api/v1, and how Fluent announces a removal. - [Get the API index](https://www.fluenterp.com/docs/api-reference/discovery/get-the-api-index.md): Returns the public, unauthenticated index of the API: the base URL, supported authentication methods and OAuth scopes, the rate-limit and deprecation conventions, and links to the documentation and this specification. Use it to discover the current surface without a credential. - [List agents](https://www.fluenterp.com/docs/api-reference/agents/list-agents.md): Returns the agents visible to the authenticated user, ordered by name. OAuth tokens require the agents:read scope. - [Create file upload URLs](https://www.fluenterp.com/docs/api-reference/agents/create-file-upload-urls.md): Creates one presigned URL per file. Upload each file directly with PUT and the same Content-Type before creating a run. URLs expire after one hour. OAuth tokens require the runs:write scope. - [Create an agent run](https://www.fluenterp.com/docs/api-reference/runs/create-an-agent-run.md): Starts an asynchronous run with uploaded files, a user message, or both. OAuth tokens require the runs:write scope. In addition to the credential limit, this operation is limited to 30 requests per 60 seconds per agent. - [List agent runs](https://www.fluenterp.com/docs/api-reference/runs/list-agent-runs.md): Lists API-originated runs in reverse chronological order. List items do not include documents or conversation IDs. OAuth tokens require the runs:read scope. - [Get an agent run](https://www.fluenterp.com/docs/api-reference/runs/get-an-agent-run.md): Returns durable run status, conversations, and documents. A failed run can still contain documents and conversation IDs. OAuth tokens require the runs:read scope. - [Get a document](https://www.fluenterp.com/docs/api-reference/documents/get-a-document.md): Returns a document and its full document_data payload. OAuth tokens require the runs:read scope. - [Process a document](https://www.fluenterp.com/docs/api-reference/documents/process-a-document.md): Processes the document's current data into its configured system of record. An external-system rejection is returned as an updated document with status error and HTTP 200. OAuth tokens require runs:write. - [Delete a document](https://www.fluenterp.com/docs/api-reference/documents/delete-a-document.md): Cancels in-flight work and moves the document to trash. This is a soft delete. OAuth tokens require the runs:write scope. - [List connections](https://www.fluenterp.com/docs/api-reference/connections/list-connections.md): Lists connections visible to the API-key user. This legacy operation returns a top-level array instead of a data envelope. - [List connection entities](https://www.fluenterp.com/docs/api-reference/connections/list-connection-entities.md): Lists the entities exposed by a connection. This legacy operation returns a top-level array instead of a data envelope. - [List connection records](https://www.fluenterp.com/docs/api-reference/connections/list-connection-records.md): Reads records from one connection entity. Record shape and filter syntax depend on the connection. This legacy operation returns a top-level array. - [List databases](https://www.fluenterp.com/docs/api-reference/databases/list-databases.md): Lists queryable databases visible to the API-key user. - [List database tables](https://www.fluenterp.com/docs/api-reference/databases/list-database-tables.md): Lists the queryable tables in one accessible database. - [Get a database schema](https://www.fluenterp.com/docs/api-reference/databases/get-a-database-schema.md): Returns table and column metadata for an accessible database. - [List table records](https://www.fluenterp.com/docs/api-reference/tables/list-table-records.md): Reads records from a queryable table. The operation has an additional limit of 5 requests per 60 seconds per user. - [Query a database](https://www.fluenterp.com/docs/api-reference/queries/query-a-database.md): Executes a query against an accessible database. Queries can be long-running; clients should allow sufficient request time. - [Search the web](https://www.fluenterp.com/docs/api-reference/utilities/search-the-web.md): Searches the web and returns a generated summary with source URLs. - [Get thread messages](https://www.fluenterp.com/docs/api-reference/utilities/get-thread-messages.md): Returns conversation messages in their stored order. - [Create a snapshot upload URL](https://www.fluenterp.com/docs/api-reference/utilities/create-a-snapshot-upload-url.md): Creates a presigned URL for uploading a sandbox snapshot and records the snapshot against an accessible conversation. - [Get a snapshot download URL](https://www.fluenterp.com/docs/api-reference/utilities/get-a-snapshot-download-url.md): Returns a presigned download URL, or null when no snapshot exists. - [Send an MCP GET request](https://www.fluenterp.com/docs/api-reference/mcp/send-an-mcp-get-request.md): Handles a stateless Model Context Protocol Streamable HTTP GET request. Agent-scoped OAuth tokens and API keys are supported. - [Send an MCP request](https://www.fluenterp.com/docs/api-reference/mcp/send-an-mcp-request.md): Handles a stateless Model Context Protocol Streamable HTTP request. The body is a JSON-RPC MCP message. Agent-scoped OAuth tokens and API keys are supported. - [Close an MCP session](https://www.fluenterp.com/docs/api-reference/mcp/close-an-mcp-session.md): Acknowledges session cleanup requests. The transport is stateless, so there is no server-side session to remove. ## OpenAPI Specs - [openapi](/docs/api-reference/openapi.json) - [openapi](/docs/api-reference/openapi.yaml)