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

> ## Agent Instructions
> The docs are served at https://docs.devias.io. Every path in these docs is relative to that root: /llms.txt is https://docs.devias.io/llms.txt.
> Devias is an open-source platform that works as an operating system for a business: a core (records, views, workflows, agents, permissions) with installable modules.
> Pages are typed by folder. concepts/ explains what things are, guides/ gives procedures, reference/ is exhaustive (SDK, CLI, HTTP API), operate/ covers hosting. Use /start/glossary for exact terms.
> Every id in a module (module, object, field, view, action, workflow, step, connection, variable, event, policy) is a uuid. Generate them with `devias id <count>`. Never invent dotted or readable ids.
> Run `devias plan` and read its output before `devias apply`. Apply only what the plan says.
> The OpenAPI document, including the routes of the modules in the reference setup, is at /reference/api/openapi.json.
> Devias is young and changes quickly. If a page and the source repository (github.com/devias-io/devias) disagree, the repository is right.

# Module routes

> How the HTTP API reaches into a module. Actions run by name at POST /api/workspaces/<workspaceId>/modules/<moduleId>/actions/<name>, each connection has a secret webhook address, and a module can mount its own routes under /mod/<moduleId>/ that run with the caller permissions.

A module adds to the API without a separate server, in three ways: actions, webhooks and its own routes.

## Actions

Every action a module declares can be run over the API by its **name**, with the action's inputs as the request body. It returns what the action returns. The same permissions that bind workflows and agents apply.

```text theme={"dark"}
POST /api/workspaces/<workspaceId>/modules/<moduleId>/actions/<name>
```

`<moduleId>` is the module's uuid, as in its manifest.

## Webhooks

A module that receives events from an outside service has a **webhook address** for each connection, shown on its **Events** tab. The service posts to it, and the module checks the signature and stores the events. The address contains a secret token and must be treated like a password.

## The module's own routes

A module's server code may add routes of its own. They are mounted under the workspace at `/api/workspaces/<workspaceId>/mod/<moduleId>/`. They run as the caller, so the caller's permissions apply.

## Related

* [Actions and server code](https://docs.devias.io/guides/modules/actions-and-server-code.md): write an action.
* [Connections and events in a module](https://docs.devias.io/guides/modules/connections-and-events.md): receive events.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.