canonical: https://jentic.com/apis/mural.co/mural

# MURAL Public API

Jentic publishes the only available OpenAPI specification for MURAL Public API, keeping it validated and agent-ready. MURAL's Public API exposes the visual collaboration platform's workspaces, rooms, murals, templates, and mural-content widgets so teams can automate board creation, populate sticky notes from upstream tools, export images, and manage workspace membership at scale. Across 88 endpoints it covers full lifecycle management of murals - creation, content authoring, duplication, export, private mode, plus the surrounding rooms, templates, users, and search resources.

## For AI agents

Create and populate MURAL boards, add sticky notes and other widgets, export images, and manage workspace rooms and templates programmatically.

## Scope

Does not handle video conferencing, document editing, or chat platforms - use for visual collaboration board creation, content authoring, and export only.

## Capabilities

- Create, duplicate, update, and delete murals via /murals and /murals/{muralId}
- Author sticky notes and other widgets through the mural contents endpoints
- Generate image and PDF exports via POST /murals/{muralId}/export and poll GET /murals/{muralId}/exports/{exportId}
- Manage rooms that group murals within a workspace via the rooms endpoints
- Maintain templates and instantiate new murals from them via the templates endpoints
- Search workspaces, rooms, and murals through the search endpoints
- Toggle private mode and access info on a mural to control facilitation flow

## Use cases

### Auto-Generate Workshop Boards from a Template

Facilitators preparing a workshop duplicate a templated mural per breakout group instead of hand-creating boards. POST /murals duplicate or POST /murals/{muralId}/duplicate creates the new boards in the right room, and bulk content endpoints seed each board with the agenda widgets. A 10-team workshop turns from 30 minutes of clicking into one API run.

Example prompt: Call POST /murals/{muralId}/duplicate ten times in the chosen room, each renamed for the breakout team, and seed the agenda widgets via the mural contents endpoints.

### Sync Sticky Notes from Survey or Ticket Data

Insights teams pull customer feedback from a survey tool or support ticket queue and auto-populate a MURAL board with one sticky note per response. The mural contents endpoints accept widget payloads with text, color, and position, so a clustering exercise can begin with the data already laid out by theme. This collapses the prep step that usually precedes affinity mapping sessions.

Example prompt: For each survey response, call the mural contents widget creation endpoint with the response text and a position computed from a grid layout.

### Mural Export for Meeting Recaps

Project managers send a flat image of the post-meeting mural to attendees who could not attend live. POST /murals/{muralId}/export kicks off the render and GET /murals/{muralId}/exports/{exportId} returns the asset when ready. The flow runs unattended and the image attaches to a recap email or doc without anyone re-opening MURAL.

Example prompt: Call POST /murals/{muralId}/export with format = png, poll GET /murals/{muralId}/exports/{exportId} until the asset is ready, then attach it to the recap email.

### Agent-Driven Workshop Setup in Chat

An AI assistant in a team chat creates and pre-populates a MURAL board when a user asks 'set up a retro for tomorrow'. Through Jentic the agent searches for 'create a mural and add sticky notes', loads the schema, calls POST /murals to create the board, and posts the link back in chat with seeded sticky notes ready for the team. OAuth2 credentials stay in your Jentic One instance.

Example prompt: Search Jentic for 'create a mural', execute POST /murals with the chosen room id, then chain widget creation calls to seed the retro columns.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /murals | Create a new mural |
| GET | /murals/{muralId} | Retrieve a mural by id |
| POST | /murals/{muralId}/duplicate | Duplicate an existing mural |
| POST | /murals/{muralId}/export | Trigger an image or PDF export |
| GET | /murals/{muralId}/exports/{exportId} | Poll export status |
| POST | /murals/{muralId}/private-mode/start | Start private mode for a facilitated session |

## Key resources

- **Murals** — Boards - create, duplicate, update, export, delete
- **Mural Contents** — Widgets on a mural - sticky notes, shapes, connectors, images
- **Rooms** — Groupings of murals inside a workspace
- **Templates** — Reusable mural starting points
- **Workspaces** — Top-level account containers
- **Users** — User profile and membership data
- **Search** — Cross-resource search across workspaces, rooms, and murals

## Why Jentic

- **Setup:** Wiring the MURAL Public API by hand means running its OAuth 2.0 authorization-code flow, refreshing tokens, and versioning the /api/public/{version} base path yourself. Through Jentic you install once, import the MURAL Public API from the API Directory, complete the OAuth grant once, and your agent calls it.
- **Permission scoping:** MURAL puts the mural id in the URL path (/murals/{muralId}/...), so a rule can pin your agent to one mural: it can read, export, or add content to that board and nothing else. You choose the operations it may call, so a call like duplicating or starting private mode is not included unless you add it.
- **Credential handling:** Your MURAL OAuth grant is stored once, encrypted, by your own Jentic One instance, refreshed automatically, and injected at execution time. The access and refresh tokens never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a mural' or 'export a board to an image', and Jentic returns the matching MURAL operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Miro REST API** — Miro is the leading alternative visual collaboration platform with a comparable board and widget API
- **Figma REST API** — Figma covers structured design canvases - alternative when the workflow is design rather than facilitation
- **Slack Web API** — Slack is where created mural links and exports are most often shared back to the team

## FAQ

### Why is there no official OpenAPI spec for MURAL Public API?

MURAL does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call MURAL Public API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the MURAL Public API use?

The MURAL Public API uses OAuth 2.0 with user-delegated access tokens. Through Jentic the OAuth grant is held in the encrypted vault and refreshed automatically, so the agent never handles the raw access or refresh token.

### Can I add sticky notes to a mural programmatically?

Yes. The mural contents endpoints accept widget creation payloads - including sticky notes with text, color, and x/y position - so a script or agent can populate a board with structured input rather than manual drag-and-drop.

### What are the rate limits for the MURAL Public API?

MURAL applies per-app and per-user rate limits and surfaces remaining quota in response headers. Heavy widget-creation workflows should batch within a single mural and back off when 429 responses are returned to avoid temporary blocks.

### How do I export a mural to PNG through Jentic?

Search Jentic for 'export a mural to image', execute POST /murals/{muralId}/export with format = png, then poll GET /murals/{muralId}/exports/{exportId} until the asset is ready. The agent receives the asset URL without ever touching the raw OAuth token.

### Is the MURAL Public API free?

API access is included with paid MURAL workspace plans. Some features such as private mode and certain export formats require higher tiers - check the workspace's plan limits before scripting heavy use.

### Can I duplicate a template mural for each breakout team?

Yes. POST /murals/{muralId}/duplicate creates a copy of an existing mural - typically a template - into a chosen room. Loop the call once per team to spin up parallel boards in seconds.

### Can I limit what my agent is allowed to do with the MURAL Public API?

Yes. Because your Jentic One instance is self-hosted, your own rules decide which MURAL operations and OAuth credentials the agent may use. Since the mural id sits in the URL path (/murals/{muralId}/...), you can pin the agent to a single board so it only reads, exports, or adds content to that mural and nothing else. You also choose which operations are in scope, so calls like POST /murals/{muralId}/duplicate or starting private mode are excluded unless you explicitly allow them.
