---
title: "All Endpoints"
description: "Every MindCloud API endpoint on one page, by product and folder, each linked to its reference."
---

{/* Generated by projects/publicApi (npm run docs:website:generate) from the endpoint definitions. Do not edit by hand: docs:check fails when this page differs from the code. */}

Every endpoint, 205 in all, by product and folder as the sidebar files them. Each links to its reference page: parameters, body, response fields, errors and an example. Every page is also served as Markdown: add `.md` to its address.

## MindCloud

What every MindCloud product runs on: your organization and who can do what in it, API keys, connections to other apps, and the Universal API.

### Organization › Company

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Companies](/docs/api/rest/actions/list-companies) | GET `/v2/companies` | Find the organization to work in: every organization your API key can act in, searchable with q=acme (any part of the name, or the exact id), with how the key reaches it. |
| [Get Company](/docs/api/rest/actions/get-company) | GET `/v2/companies/{companyId}` | See your company in full: its region, parent organization, how many members and roles it has, and whether domain discovery and Embedded are on. |
| [Update Company](/docs/api/rest/actions/update-company) | PUT `/v2/companies/{companyId}` | Change your company name, description, timezone, or logo, or turn domain discovery on or off. |

### Organization › Environments

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Environments](/docs/api/rest/actions/list-environments) | GET `/v2/environments` | See your environments, like Production and Sandbox, and how many scheduled workflows target each one. |
| [Create Environment](/docs/api/rest/actions/create-environment) | POST `/v2/environments` | Add an environment, like Staging, to run workflows and map connections against. |
| [Update Environment](/docs/api/rest/actions/update-environment) | PUT `/v2/environments/{environmentId}` | Rename one of your environments. |
| [Delete Environment](/docs/api/rest/actions/delete-environment) | DELETE `/v2/environments/{environmentId}` | Remove an environment nothing uses any more. |

### Organization › Parent and children

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Leave Parent Organization](/docs/api/rest/actions/leave-parent) | POST `/v2/companies/{companyId}/leave-parent` | Stop being a child organization. |

### Organization › Parent and children › Child Organizations

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Child Organizations](/docs/api/rest/actions/list-child-companies) | GET `/v2/child-companies` | See your company's child organizations. |
| [Get Child Organization](/docs/api/rest/actions/get-child-company) | GET `/v2/child-companies/{companyId}` | Get one child organization of your company. |
| [Create Child Organization](/docs/api/rest/actions/create-child-company) | POST `/v2/child-companies` | Create a new organization as a child of your company. |
| [Release Child Organization](/docs/api/rest/actions/release-child-company) | DELETE `/v2/child-companies/{companyId}` | End the link to a child organization. |
| [Close Child Organization](/docs/api/rest/actions/close-child-company) | POST `/v2/child-companies/{companyId}/close` | Delete a child organization your company created. |

### Organization › Parent and children › Link Requests

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Link Requests](/docs/api/rest/actions/list-link-requests) | GET `/v2/link-requests` | See the requests to link your company with another organization: the ones you sent and the ones waiting for your answer. |
| [Create Link Request](/docs/api/rest/actions/create-link-request) | POST `/v2/link-requests` | Ask an existing organization to become your child organization. |
| [Accept Link Request](/docs/api/rest/actions/accept-link-request) | POST `/v2/link-requests/{requestId}/accept` | Accept a request to link your company with another organization. |
| [Decline Link Request](/docs/api/rest/actions/decline-link-request) | POST `/v2/link-requests/{requestId}/decline` | Turn down a request to link your company with another organization. |
| [Cancel Link Request](/docs/api/rest/actions/cancel-link-request) | POST `/v2/link-requests/{requestId}/cancel` | Withdraw a link request your company sent before the other organization answers it. |

### People and access › Members

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Members](/docs/api/rest/actions/list-members) | GET `/v2/members` | See who is in your company, the role they hold, and whether their invite is still pending. |
| [Get Member](/docs/api/rest/actions/get-member) | GET `/v2/members/{userId}` | See one member: the role they hold, and whether they have accepted their invite. |
| [Update Member](/docs/api/rest/actions/update-member) | PUT `/v2/members/{userId}` | Move a member to another role. |
| [Remove Member](/docs/api/rest/actions/delete-member) | DELETE `/v2/members/{userId}` | Remove someone from your company. |

### People and access › Invitations

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Invitations](/docs/api/rest/actions/list-invitations) | GET `/v2/invitations` | See who you invited and has not signed up yet. |
| [Get Invitation](/docs/api/rest/actions/get-invitation) | GET `/v2/invitations/{invitationId}` | See one invitation that has not been accepted yet. |
| [Create Invitation](/docs/api/rest/actions/create-invitation) | POST `/v2/invitations` | Invite someone by email. |
| [Resend Invitation](/docs/api/rest/actions/resend-invitation) | POST `/v2/invitations/{invitationId}/resend` | Send an invitation email again, for someone who lost or never got it. |
| [Revoke Invitation](/docs/api/rest/actions/revoke-invitation) | DELETE `/v2/invitations/{invitationId}` | Take back an invitation that has not been accepted. |

### People and access › Roles

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Roles](/docs/api/rest/actions/list-roles) | GET `/v2/roles` | See the roles you can assign, including the global roles MindCloud provides to every company. |
| [Get Role](/docs/api/rest/actions/get-role) | GET `/v2/roles/{roleId}` | See exactly what one role lets its members do, permission by permission. |
| [Create Role](/docs/api/rest/actions/create-role) | POST `/v2/roles` | Create a custom role with exactly the permissions you choose, then assign it to members. |
| [Update Role](/docs/api/rest/actions/update-role) | PUT `/v2/roles/{roleId}` | Rename a custom role or replace its permissions. |
| [Delete Role](/docs/api/rest/actions/delete-role) | DELETE `/v2/roles/{roleId}` | Delete a custom role that no member holds any more. |

### People and access › Permissions

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Permissions](/docs/api/rest/actions/list-permissions) | GET `/v2/permissions` | See every permission you can build a role or an API key from, and which of them a custom role may carry. |
| [Get Member Permissions](/docs/api/rest/actions/get-member-permissions) | GET `/v2/members/{userId}/permissions` | See exactly what one member can do, permission by permission, and why: from their role, a direct grant, or a company setting. |
| [Check Authorization](/docs/api/rest/actions/check-authorization) | POST `/v2/authorization/check` | Find out whether someone can do something before they try, and which role, grant, or rule is behind the answer. |

### People and access › Teams

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Teams](/docs/api/rest/actions/list-teams) | GET `/v2/teams` | See the teams in your company and who is on each one. |
| [Get Team](/docs/api/rest/actions/get-team) | GET `/v2/teams/{teamId}` | See one team and who is on it. |
| [Create Team](/docs/api/rest/actions/create-team) | POST `/v2/teams` | Create a team, then add people with Add Team Member and share connections with it. |
| [Update Team](/docs/api/rest/actions/update-team) | PUT `/v2/teams/{teamId}` | Rename a team. |
| [Delete Team](/docs/api/rest/actions/delete-team) | DELETE `/v2/teams/{teamId}` | Delete a team. |
| [List Team Members](/docs/api/rest/actions/list-team-members) | GET `/v2/teams/{teamId}/members` | See who is on a team, with their name, email, and role. |
| [Add Team Member](/docs/api/rest/actions/add-team-member) | POST `/v2/teams/{teamId}/members` | Put someone on a team. |
| [Remove Team Member](/docs/api/rest/actions/remove-team-member) | DELETE `/v2/teams/{teamId}/members/{userId}` | Take someone off a team. |

### API keys

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Who Am I?](/docs/api/rest/actions/get-me) | GET `/v2/me` | Check which API key you are calling with, which company your requests will read from, and which MindCloud capabilities that company has enabled. |

### API keys › Keys

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List API Keys](/docs/api/rest/actions/list-api-keys) | GET `/v2/api-keys` | Audit your API keys: when each was last used and which have been revoked. |
| [Get API Key](/docs/api/rest/actions/get-api-key) | GET `/v2/api-keys/{apiKeyId}` | See one API key: what it may do, when it was last used, and whether it was revoked. |
| [Create API Key](/docs/api/rest/actions/create-api-key) | POST `/v2/api-keys` | Create a new API key for your company. |
| [Update API Key](/docs/api/rest/actions/update-api-key) | PUT `/v2/api-keys/{apiKeyId}` | Rename a key, or change what it may do. |
| [Revoke API Key](/docs/api/rest/actions/revoke-api-key) | DELETE `/v2/api-keys/{apiKeyId}` | Revoke an API key so it stops working immediately. |

### API keys › Audit Events

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Audit Events](/docs/api/rest/actions/list-audit-events) | GET `/v2/audit-events` | See what your company's API keys changed, and what they were refused. |

### Connections

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Connections](/docs/api/rest/actions/list-connections) | GET `/v2/connections` | See the connections in your company and whether they still work: shared ones and your own personal ones, each app's default first. |
| [Get Connection](/docs/api/rest/actions/get-connection) | GET `/v2/connections/{connectionId}` | Check one connection's health, expiry, and metadata. |
| [List Connection Fields](/docs/api/rest/actions/list-connection-fields) | GET `/v2/connections/fields` | See what connecting an app takes: each sign-in method, the app's default first, and the fields its form asks for. |
| [Create Connection](/docs/api/rest/actions/create-connection) | POST `/v2/connections` | Connect an app that signs in with typed-in values, such as an API key or a username and password. |
| [Create Connect Link](/docs/api/rest/actions/create-connect-link) | POST `/v2/connections/connect-links` | Connect an OAuth app (Google, Slack, HubSpot…), or reconnect an OAuth connection, through the person who owns the API key: they open the link signed in to MindCloud and sign in at the provider. |
| [Update Connection](/docs/api/rest/actions/update-connection) | PUT `/v2/connections/{connectionId}` | Rename a connection, make it your organization's default for its app, or share it with the organization (or make it yours alone). |
| [Update Connection Credentials](/docs/api/rest/actions/update-connection-credentials) | PUT `/v2/connections/{connectionId}/credentials` | Rotate an API key or password on a connection: send only the fields that change, from GET /v2/connections/fields. |
| [Test Connection](/docs/api/rest/actions/test-connection) | POST `/v2/connections/{connectionId}/test` | Check a connection against the provider it signs into. |
| [Delete Connection](/docs/api/rest/actions/delete-connection) | DELETE `/v2/connections/{connectionId}` | Delete a connection, revoking it with the provider first when the app supports that. |

### Universal API › Discover

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Universal Apps](/docs/api/rest/actions/list-universal-apps) | GET `/v2/universal/apps` | Find published apps with Universal API actions. |
| [List Universal Actions](/docs/api/rest/actions/list-universal-actions) | GET `/v2/universal/apps/{appSlug}/actions` | List the published actions for one app. |
| [Get Universal Action](/docs/api/rest/actions/get-universal-action) | GET `/v2/universal/apps/{appSlug}/actions/{actionSlug}` | Get one published action schema, including its arguments, response fields, and supported controls. |

### Universal API › Run

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Resolve Universal Lookup](/docs/api/rest/actions/resolve-universal-lookup) | GET `/v2/universal/apps/{appSlug}/actions/{actionSlug}/lookups/{argumentKey}` | Resolve choices for one action argument, such as finding Slack channels before sending a message. |
| [Run Universal Action](/docs/api/rest/actions/run-universal-action) | POST `/v2/universal/apps/{appSlug}/actions/{actionSlug}/run` | Run one published Universal API action through a connection. |

## Cirra

The AI workspace: Analytics pages built from your apps’ data, and governance of what Cirra may do for each role.

### Analytics › Pages › Pages

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Analytics Pages](/docs/api/rest/actions/list-analytics-pages) | GET `/v2/analytics/pages` | See every Analytics page the key's creator can open, their own and the ones shared with them. |
| [Get Analytics Page](/docs/api/rest/actions/get-analytics-page) | GET `/v2/analytics/pages/{pageId}` | Read a page: its settings, variables (filters), tabs, and its panels with their places on the grid. |
| [Create Analytics Page](/docs/api/rest/actions/create-analytics-page) | POST `/v2/analytics/pages` | Make a new page or report. |
| [Update Analytics Page](/docs/api/rest/actions/update-analytics-page) | PUT `/v2/analytics/pages/{pageId}` | Rename a page, change its icon, display, theme or style, pause or resume it, or file it in a folder. |
| [Convert Analytics Page](/docs/api/rest/actions/convert-analytics-page) | POST `/v2/analytics/pages/{pageId}/convert` | Make a page a subpage of the page whose click opens it, or a subpage an ordinary page again. |
| [Duplicate Analytics Page](/docs/api/rest/actions/duplicate-analytics-page) | POST `/v2/analytics/pages/{pageId}/duplicate` | Copy one of your pages, panels and settings included, as a new draft beside the original. |
| [Delete Analytics Page](/docs/api/rest/actions/delete-analytics-page) | DELETE `/v2/analytics/pages/{pageId}` | Delete one of your pages. |
| [Request Analytics Page Access](/docs/api/rest/actions/request-analytics-page-access) | POST `/v2/analytics/pages/{pageId}/access-requests` | Ask the owner of a page you cannot open to share it. |

### Analytics › Pages › Building

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Get Analytics Page Definition](/docs/api/rest/actions/get-analytics-page-definition) | GET `/v2/analytics/pages/{pageId}/definition` | Read a page's whole draft as one document, in the shape Set Analytics Page Definition takes: change it and send it back. |
| [Set Analytics Page Definition](/docs/api/rest/actions/set-analytics-page-definition) | PUT `/v2/analytics/pages/{pageId}/definition` | Set a page's whole draft in one call: the fastest way to build a page, and the one to use from an agent. |
| [Validate Analytics Page Definition](/docs/api/rest/actions/validate-analytics-page-definition) | POST `/v2/analytics/pages/{pageId}/definition/validate` | Check a body for Set Analytics Page Definition without saving anything. |
| [Set Analytics Page Variables](/docs/api/rest/actions/set-analytics-page-variables) | PUT `/v2/analytics/pages/{pageId}/variables` | Declare a page's variables: the filters its panels read as $name in their queries. |
| [Set Analytics Page Tabs](/docs/api/rest/actions/set-analytics-page-tabs) | PUT `/v2/analytics/pages/{pageId}/tabs` | Split a page into tabs, rename or reorder them, or turn tabs off. |
| [Update Analytics Page Layout](/docs/api/rest/actions/update-analytics-page-layout) | PUT `/v2/analytics/pages/{pageId}/layout` | Arrange panels on the page grid (12 columns) and move them between tabs. |

### Analytics › Pages › Drafts and versions

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Analytics Page Edits](/docs/api/rest/actions/list-analytics-page-edits) | GET `/v2/analytics/pages/{pageId}/edits` | See a page's draft steps since its last publish, newest first, with who made each and whether it is undone. |
| [Undo Analytics Page](/docs/api/rest/actions/undo-analytics-page) | POST `/v2/analytics/pages/{pageId}/undo` | Undo your last draft step on a page. |
| [Redo Analytics Page](/docs/api/rest/actions/redo-analytics-page) | POST `/v2/analytics/pages/{pageId}/redo` | Redo your last undone draft step on a page, or bring back a specific undone step by its id from List Analytics Page Edits. |
| [Publish Analytics Page](/docs/api/rest/actions/publish-analytics-page) | POST `/v2/analytics/pages/{pageId}/publish` | Publish the draft: it becomes a new numbered version and what viewers see. |
| [Discard Analytics Page Draft](/docs/api/rest/actions/discard-analytics-page-draft) | POST `/v2/analytics/pages/{pageId}/discard-draft` | Throw away the draft and go back to the published version. |
| [List Analytics Page Versions](/docs/api/rest/actions/list-analytics-page-versions) | GET `/v2/analytics/pages/{pageId}/versions` | See a page's version history, newest first. |
| [Restore Analytics Page Version](/docs/api/rest/actions/restore-analytics-page-version) | POST `/v2/analytics/pages/{pageId}/versions/{versionId}/restore` | Bring an earlier version back as the draft. |
| [Publish Analytics Page Version](/docs/api/rest/actions/publish-analytics-page-version) | POST `/v2/analytics/pages/{pageId}/versions/{versionId}/publish` | Roll viewers back (or forward) to another version. |
| [Update Analytics Page Version](/docs/api/rest/actions/update-analytics-page-version) | PUT `/v2/analytics/pages/{pageId}/versions/{versionId}` | Give a version a name or notes so its history reads well. |

### Analytics › Panels › Panels

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Create Analytics Panel](/docs/api/rest/actions/create-analytics-panel) | POST `/v2/analytics/pages/{pageId}/panels` | Add a blank panel to a page you own, or copy one with fromPanelId. |
| [Get Analytics Panel](/docs/api/rest/actions/get-analytics-panel) | GET `/v2/analytics/pages/{pageId}/panels/{panelId}` | Read a panel's whole setup in the shape Update Analytics Panel takes back: change what you need and send those fields. |
| [Update Analytics Panel](/docs/api/rest/actions/update-analytics-panel) | PUT `/v2/analytics/pages/{pageId}/panels/{panelId}` | Set what a panel shows: its sources and their SQL, the transform, the display type and its settings, columns, formats, click wiring and its place on the grid. |
| [Delete Analytics Panel](/docs/api/rest/actions/delete-analytics-panel) | DELETE `/v2/analytics/pages/{pageId}/panels/{panelId}` | Delete a panel from a page you own. |
| [Create Analytics Subpage](/docs/api/rest/actions/create-analytics-subpage) | POST `/v2/analytics/pages/{pageId}/panels/{panelId}/subpages` | Make a detail page that opens when a row or value of this panel is clicked. |

### Analytics › Panels › Output and previews

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Get Analytics Panel Output](/docs/api/rest/actions/get-analytics-panel-output) | GET `/v2/analytics/pages/{pageId}/panels/{panelId}/output` | See what a panel produces: its status, any failure message, and its rows, a window at a time. |
| [Preview Analytics Panel Transform](/docs/api/rest/actions/preview-analytics-panel-transform) | POST `/v2/analytics/pages/{pageId}/panels/{panelId}/transform-preview` | Try transform code on a panel's sources before you save it with Update Analytics Panel. |
| [Preview Analytics Panel Drill-Down](/docs/api/rest/actions/preview-analytics-panel-drill-down) | POST `/v2/analytics/pages/{pageId}/panels/{panelId}/drill-down-preview` | See what a drill-down panel shows for one click: pass the clicked row's values its SQL reads as $params. |

### Analytics › Data Sources › Sources

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Analytics Data Sources](/docs/api/rest/actions/list-analytics-data-sources) | GET `/v2/analytics/data-sources` | See the data sources of the key's creator: the app data, merges and tables their Analytics panels read. |
| [Get Analytics Data Source](/docs/api/rest/actions/get-analytics-data-source) | GET `/v2/analytics/data-sources/{dataSourceId}` | Get one of the creator's data sources in full: the app, action, connection, arguments, options and query a sync or live source fetches with; the inputs and code of a merge; the data a fixed source holds; its refresh schedule and incremental refreshes; and its latest fetch. |
| [Create Analytics Data Source](/docs/api/rest/actions/create-analytics-data-source) | POST `/v2/analytics/data-sources` | Create a data source, owned by the key's creator, for Analytics panels to read. |
| [Update Analytics Data Source](/docs/api/rest/actions/update-analytics-data-source) | PUT `/v2/analytics/data-sources/{dataSourceId}` | Change one of the creator's data sources. |
| [Delete Analytics Data Source](/docs/api/rest/actions/delete-analytics-data-source) | DELETE `/v2/analytics/data-sources/{dataSourceId}` | Delete one of the creator's data sources and its stored data. |
| [Fetch Analytics Data Source](/docs/api/rest/actions/fetch-analytics-data-source) | POST `/v2/analytics/data-sources/{dataSourceId}/fetch` | Start a fresh fetch of a data source now, without changing it, as Refresh does in the app. |

### Analytics › Data Sources › Rows

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Get Analytics Data Source Result](/docs/api/rest/actions/get-analytics-data-source-result) | GET `/v2/analytics/data-sources/{dataSourceId}/result` | Read a data source's stored rows and how its last fetch went. |
| [Query Analytics Data Source](/docs/api/rest/actions/query-analytics-data-source) | POST `/v2/analytics/data-sources/{dataSourceId}/query` | Run one read-only SQL statement (DuckDB) over a data source's stored rows, read as `src`, to explore them before you build a panel: counts, distinct values, date ranges. |
| [Preview Analytics Merge](/docs/api/rest/actions/preview-analytics-merge) | POST `/v2/analytics/data-sources/merge-preview` | Try a merge before you save it, as the app's merge editor previews one: send the same dataSources and transformCode Create Analytics Data Source takes for a merge source. |

### Analytics › Data Sources › Fixed tables

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Get Analytics Data Source Table](/docs/api/rest/actions/get-analytics-data-source-table) | GET `/v2/analytics/data-sources/{dataSourceId}/table` | Read one of the creator's fixed sources as a table: its columns with their types, a window of its rows in order (each keyed by column; a row's index is offset plus its place), and the revision, also in the ETag header. |
| [Update Analytics Data Source Table](/docs/api/rest/actions/update-analytics-data-source-table) | PUT `/v2/analytics/data-sources/{dataSourceId}/table` | Change some of a fixed source's table without sending the rest, then save it, as Save in the app's Edit table does: the panels and merges that read it follow. |

### Analytics › Sharing › Page shares

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Analytics Page Shares](/docs/api/rest/actions/list-analytics-page-shares) | GET `/v2/analytics/pages/{pageId}/shares` | See who can open a page and who can edit it. |
| [Create Analytics Page Share](/docs/api/rest/actions/create-analytics-page-share) | POST `/v2/analytics/pages/{pageId}/shares` | Share a page with one target. |
| [Update Analytics Page Share](/docs/api/rest/actions/update-analytics-page-share) | PUT `/v2/analytics/pages/{pageId}/shares/{shareId}` | Change a share's permission between view and edit. |
| [Delete Analytics Page Share](/docs/api/rest/actions/delete-analytics-page-share) | DELETE `/v2/analytics/pages/{pageId}/shares/{shareId}` | Take a share away. |
| [Resend Analytics Page Share](/docs/api/rest/actions/resend-analytics-page-share) | POST `/v2/analytics/pages/{pageId}/shares/{shareId}/resend` | Send a guest, someone outside your organization, a new email with a fresh link to the page. |

### Analytics › Sharing › Folder shares

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Analytics Folder Shares](/docs/api/rest/actions/list-analytics-folder-shares) | GET `/v2/analytics/folders/{folderId}/shares` | See who a folder is shared with. |
| [Create Analytics Folder Share](/docs/api/rest/actions/create-analytics-folder-share) | POST `/v2/analytics/folders/{folderId}/shares` | Share a folder with one target: every page in it, and in its subfolders, is shared with them too. |
| [Update Analytics Folder Share](/docs/api/rest/actions/update-analytics-folder-share) | PUT `/v2/analytics/folders/{folderId}/shares/{shareId}` | Change a share's permission between view and edit. |
| [Delete Analytics Folder Share](/docs/api/rest/actions/delete-analytics-folder-share) | DELETE `/v2/analytics/folders/{folderId}/shares/{shareId}` | Take a share away from the folder and every page inside it. |

### Analytics › Publications

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Analytics Publications](/docs/api/rest/actions/list-analytics-publications) | GET `/v2/analytics/pages/{pageId}/publications` | See a page's publications: who each one sends to, where, and when it sends next. |
| [Create Analytics Publication](/docs/api/rest/actions/create-analytics-publication) | POST `/v2/analytics/pages/{pageId}/publications` | Send a page on a schedule. |
| [Update Analytics Publication](/docs/api/rest/actions/update-analytics-publication) | PUT `/v2/analytics/pages/{pageId}/publications/{publicationId}` | Change a publication or turn it on or off. |
| [Delete Analytics Publication](/docs/api/rest/actions/delete-analytics-publication) | DELETE `/v2/analytics/pages/{pageId}/publications/{publicationId}` | Stop a publication for good. |
| [Send Analytics Publication](/docs/api/rest/actions/send-analytics-publication) | POST `/v2/analytics/pages/{pageId}/publications/{publicationId}/send` | Send a publication right now, outside its schedule. |
| [List Analytics Publication Runs](/docs/api/rest/actions/list-analytics-publication-runs) | GET `/v2/analytics/pages/{pageId}/publications/{publicationId}/runs` | See a publication's delivery history, newest first. |

### Analytics › Library › Folders

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Analytics Folders](/docs/api/rest/actions/list-analytics-folders) | GET `/v2/analytics/folders` | See the folders in your Analytics sidebar: your pages and reports, and the pages others shared with you, organized as you filed them. |
| [Create Analytics Folder](/docs/api/rest/actions/create-analytics-folder) | POST `/v2/analytics/folders` | Make a folder in your Analytics sidebar, at the top of Pages, Reports or Shared with me, or inside another folder. |
| [Update Analytics Folder](/docs/api/rest/actions/update-analytics-folder) | PUT `/v2/analytics/folders/{folderId}` | Rename, move, theme or pause one of your Analytics folders. |
| [Delete Analytics Folder](/docs/api/rest/actions/delete-analytics-folder) | DELETE `/v2/analytics/folders/{folderId}` | Delete one of your Analytics folders. |

### Analytics › Library › Themes

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Analytics Themes](/docs/api/rest/actions/list-analytics-themes) | GET `/v2/analytics/themes` | See your organization's Analytics themes: fonts, colors, chart and panel styling a page or a folder can wear. |
| [Create Analytics Theme](/docs/api/rest/actions/create-analytics-theme) | POST `/v2/analytics/themes` | Make a theme your organization can put on any page or folder. |
| [Update Analytics Theme](/docs/api/rest/actions/update-analytics-theme) | PUT `/v2/analytics/themes/{themeId}` | Change a theme. |

### Analytics › Library › Templates

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Analytics Templates](/docs/api/rest/actions/list-analytics-templates) | GET `/v2/analytics/templates` | Browse ready-made Analytics pages and bundles you can install: your organization's, ones shared with it, and MindCloud's public library. |
| [Get Analytics Template Install Plan](/docs/api/rest/actions/get-analytics-template-install-plan) | GET `/v2/analytics/templates/{templateId}/install-plan` | See what a template needs before you install it: the apps to connect, the connections you can pick for each, and, for a bundle, its pages. |
| [Install Analytics Template](/docs/api/rest/actions/install-analytics-template) | POST `/v2/analytics/templates/{templateId}/install` | Install a template as your own page, or a bundle as pages in a new folder. |

### Governance › Capabilities

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Get Capability Catalog](/docs/api/rest/actions/get-capability-catalog) | GET `/v2/capabilities` | See every Cirra capability key a role can allow or deny, its default, and how the keys fall back to each other. |
| [Get Member Capabilities](/docs/api/rest/actions/get-member-capabilities) | GET `/v2/members/{userId}/capabilities` | See what Cirra lets one member do (web search, files, shell, and each app) and whether their role, their own choices, or the default decided it. |
| [Get Role Capabilities](/docs/api/rest/actions/get-role-capabilities) | GET `/v2/roles/{roleId}/capabilities` | See what a role lets its members do in Cirra: web search, files, shell commands, and each app, model, or action. |
| [Update Role Capabilities](/docs/api/rest/actions/update-role-capabilities) | PUT `/v2/roles/{roleId}/capabilities` | Allow or deny what a role's members may do in Cirra, down to a single app action. |

### Governance › Connection access

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Get Connection Shares](/docs/api/rest/actions/get-connection-shares) | GET `/v2/connections/{connectionId}/shares` | See who can use a shared connection when Cirra runs app actions, and what each of them may do with it. |
| [Update Connection Shares](/docs/api/rest/actions/update-connection-shares) | PUT `/v2/connections/{connectionId}/shares` | Choose who can use a shared connection in Cirra and what they may do with it: everyone in the organization, roles, and teams, each at its own access level. |

### Governance › Spend limits

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Get Member Spend Limit](/docs/api/rest/actions/get-member-spend-limit) | GET `/v2/members/{userId}/spend-limit` | See one member's Cirra credit limit. |
| [Update Member Spend Limit](/docs/api/rest/actions/update-member-spend-limit) | PUT `/v2/members/{userId}/spend-limit` | Cap one member's Cirra credit use, or give them back the default. |

### Platforms

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Platforms](/docs/api/rest/actions/list-platforms) | GET `/v2/platforms` | See how people reach Cirra from Teams and Slack, and which roles they get. |
| [Get Platform](/docs/api/rest/actions/get-platform) | GET `/v2/platforms/{platformId}` | See the sign-in settings for Teams or Slack. |
| [Update Platform](/docs/api/rest/actions/update-platform) | PUT `/v2/platforms/{platformId}` | Set the email domains, guest access, automatic accounts, and group-to-role mappings for Teams or Slack sign-in. |

## Gravity

Workflow automation: build, publish and run workflows, and follow their runs and usage.

### Workflows

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Workflows](/docs/api/rest/actions/list-workflows) | GET `/v2/workflows` | See every workflow in your company. |
| [Get Workflow](/docs/api/rest/actions/get-workflow) | GET `/v2/workflows/{workflowId}` | Fetch one workflow, including the full definition your team built and its summary. |
| [Create Workflow](/docs/api/rest/actions/create-workflow) | POST `/v2/workflows` | Create an empty workflow. |
| [Update Workflow](/docs/api/rest/actions/update-workflow) | PUT `/v2/workflows/{workflowId}` | Rename a workflow, enable or disable it with isActive, or replace its tags. |
| [Delete Workflow](/docs/api/rest/actions/delete-workflow) | DELETE `/v2/workflows/{workflowId}` | Delete a workflow. |
| [Duplicate Workflow](/docs/api/rest/actions/duplicate-workflow) | POST `/v2/workflows/{workflowId}/duplicate` | Copy a workflow, including its steps and schedules. |

### Building › Definition

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Get Workflow Definition](/docs/api/rest/actions/get-workflow-definition) | GET `/v2/workflows/{workflowId}/definition` | Read a workflow's whole structure in one call: its properties, its triggers, and its steps as a tree in execution order. |
| [Set Workflow Definition](/docs/api/rest/actions/set-workflow-definition) | PUT `/v2/workflows/{workflowId}/definition` | Set the workflow's whole draft in one call: the fastest way to build a workflow, and the one to use from an agent. |
| [Validate Workflow Definition](/docs/api/rest/actions/validate-workflow-definition) | POST `/v2/workflows/{workflowId}/definition/validate` | Check a body for Set Workflow Definition without saving anything: it runs the same steps in a transaction that is always rolled back, so it finds every problem the write would, each with its JSON Pointer into the body. |

### Building › Steps › Steps

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Workflow Steps](/docs/api/rest/actions/list-workflow-steps) | GET `/v2/workflows/{workflowId}/steps` | List a workflow's steps flat, in the order they run, with the number the editor shows and where each one sits. |
| [Get Workflow Step](/docs/api/rest/actions/get-workflow-step) | GET `/v2/workflows/{workflowId}/steps/{stepId}` | Read one step: what it runs, the number the editor shows, and where it sits in the workflow. |
| [Add Workflow Step](/docs/api/rest/actions/add-workflow-step) | POST `/v2/workflows/{workflowId}/steps` | Add a step to the workflow's draft. |
| [Update Workflow Step](/docs/api/rest/actions/update-workflow-step) | PUT `/v2/workflows/{workflowId}/steps/{stepId}` | Change a step in the workflow's draft: its name, whether it runs, its action, or its app version. |
| [Delete Workflow Step](/docs/api/rest/actions/delete-workflow-step) | DELETE `/v2/workflows/{workflowId}/steps/{stepId}` | Remove a step from the workflow's draft. |
| [Duplicate Workflow Step](/docs/api/rest/actions/duplicate-workflow-step) | POST `/v2/workflows/{workflowId}/steps/{stepId}/duplicate` | Copy a step and every step inside it, with their connections: each must be one the key's creator may use. |
| [Set Workflow Step Order](/docs/api/rest/actions/set-workflow-step-order) | PUT `/v2/workflows/{workflowId}/step-order` | Move any number of steps in one change: send the whole tree as you want it, the same shape Get Workflow Definition answers, with ids only. |

### Building › Steps › Configuration

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Get Workflow Step Schema](/docs/api/rest/actions/get-workflow-step-schema) | GET `/v2/workflows/{workflowId}/steps/{stepId}/schema` | Read what a step's configuration takes before you set it: its action's arguments as a tree with their types, choices and required ones; the options the action supports and their limits; the connection it needs; and the output fields later steps can reference. |
| [Get Workflow Step Configuration](/docs/api/rest/actions/get-workflow-step-configuration) | GET `/v2/workflows/{workflowId}/steps/{stepId}/configuration` | Read how a step in the workflow's draft is set up: the arguments its action gets, nested as the action's schema nests them, with \{\{ steps.&lt;stepId>.output... |
| [Update Workflow Step Configuration](/docs/api/rest/actions/update-workflow-step-configuration) | PUT `/v2/workflows/{workflowId}/steps/{stepId}/configuration` | Change how a step in the workflow's draft is set up. |
| [Validate Workflow Step Configuration](/docs/api/rest/actions/validate-workflow-step-configuration) | POST `/v2/workflows/{workflowId}/steps/{stepId}/configuration/validate` | Send what you would send to Update Workflow Step Configuration and see what it would do: valid is false with every error in issues, or true with the configuration it would leave and the required values still missing. |
| [Run Workflow Step Lookup](/docs/api/rest/actions/run-workflow-step-lookup) | POST `/v2/workflows/{workflowId}/steps/{stepId}/lookups` | List the choices of one dropdown of a step in the workflow's draft, or find the one you mean with q (or search), exactly as the editor loads them: the app's fixed options, a preset list, or a read from the app with the step's connection at its app version. |

### Building › Steps › Testing

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Test Workflow Step](/docs/api/rest/actions/test-workflow-step) | POST `/v2/workflows/{workflowId}/steps/{stepId}/test` | Run one step of the workflow's draft on its own, exactly as Run in the editor does: with its saved configuration and connection, the saved sample outputs of the steps it references, and real side effects (a create step creates). |
| [Get Workflow Step Output](/docs/api/rest/actions/get-workflow-step-output) | GET `/v2/workflows/{workflowId}/steps/{stepId}/output` | Read the sample output saved for a step in the workflow's draft, as the editor's Output tab shows it: its first records, how many there were, and the fields later steps can reference. |
| [Update Workflow Step Output](/docs/api/rest/actions/update-workflow-step-output) | PUT `/v2/workflows/{workflowId}/steps/{stepId}/output` | Save a sample output for a step in the workflow's draft without running it, as Edit Step Output in the editor does. |

### Building › Triggers › Triggers

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Workflow Triggers](/docs/api/rest/actions/list-workflow-triggers) | GET `/v2/workflows/{workflowId}/triggers` | List what starts a workflow. |
| [Add Workflow Trigger](/docs/api/rest/actions/add-workflow-trigger) | POST `/v2/workflows/{workflowId}/triggers` | Add a trigger to the workflow's draft. |
| [Update Workflow Trigger](/docs/api/rest/actions/update-workflow-trigger) | PUT `/v2/workflows/{workflowId}/triggers/{triggerId}` | Rename a trigger in the workflow's draft, or turn it off or on. |
| [Delete Workflow Trigger](/docs/api/rest/actions/delete-workflow-trigger) | DELETE `/v2/workflows/{workflowId}/triggers/{triggerId}` | Remove a trigger from the workflow's draft. |

### Building › Triggers › Configuration

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Get Workflow Trigger Schema](/docs/api/rest/actions/get-workflow-trigger-schema) | GET `/v2/workflows/{workflowId}/triggers/{triggerId}/schema` | Read what a trigger's configuration takes before you set it: its action's arguments as a tree with their types, choices and required ones; the options the action supports and their limits; the connection it needs; and the output fields later steps can reference. |
| [Get Workflow Trigger Configuration](/docs/api/rest/actions/get-workflow-trigger-configuration) | GET `/v2/workflows/{workflowId}/triggers/{triggerId}/configuration` | Read how a trigger in the workflow's draft is set up: the arguments its action gets, nested as the action's schema nests them, with \{\{ steps.&lt;stepId>.output... |
| [Update Workflow Trigger Configuration](/docs/api/rest/actions/update-workflow-trigger-configuration) | PUT `/v2/workflows/{workflowId}/triggers/{triggerId}/configuration` | Change how a trigger in the workflow's draft is set up. |
| [Validate Workflow Trigger Configuration](/docs/api/rest/actions/validate-workflow-trigger-configuration) | POST `/v2/workflows/{workflowId}/triggers/{triggerId}/configuration/validate` | Send what you would send to Update Workflow Trigger Configuration and see what it would do: valid is false with every error in issues, or true with the configuration it would leave and the required values still missing. |
| [Run Workflow Trigger Lookup](/docs/api/rest/actions/run-workflow-trigger-lookup) | POST `/v2/workflows/{workflowId}/triggers/{triggerId}/lookups` | List the choices of one dropdown of a trigger in the workflow's draft, or find the one you mean with q (or search), exactly as the editor loads them: the app's fixed options, a preset list, or a read from the app with the trigger's connection at its app version. |

### Building › Triggers › Testing

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Listen Workflow Trigger](/docs/api/rest/actions/listen-workflow-trigger) | POST `/v2/workflows/{workflowId}/triggers/{triggerId}/listen` | Wait for a call to a Webhook trigger in the workflow's draft: send a request to the trigger's URL while this waits. |

### Building › Inputs

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Get Workflow Inputs](/docs/api/rest/actions/get-workflow-inputs) | GET `/v2/workflows/{workflowId}/inputs` | Read what a run of the workflow takes, where the editor keeps it. |
| [Update Workflow Inputs](/docs/api/rest/actions/update-workflow-inputs) | PUT `/v2/workflows/{workflowId}/inputs` | Replace a whole list, as the editor stores it; a list not sent stays as it is. |

### Building › Tags

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Workflow Tags](/docs/api/rest/actions/list-workflow-tags) | GET `/v2/workflow-tags` | The company's workflow tags. |
| [Create Workflow Tag](/docs/api/rest/actions/create-workflow-tag) | POST `/v2/workflow-tags` | Add a tag to the company's catalog. |
| [Update Workflow Tag](/docs/api/rest/actions/update-workflow-tag) | PUT `/v2/workflow-tags/{tagId}` | Rename a tag or change its color. |
| [Delete Workflow Tag](/docs/api/rest/actions/delete-workflow-tag) | DELETE `/v2/workflow-tags/{tagId}` | Delete a tag. |

### Versions

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Validate Workflow](/docs/api/rest/actions/validate-workflow) | POST `/v2/workflows/{workflowId}/validate` | Check the workflow's draft the way publishing will: errors block publishing (an incomplete schedule, a broken graph), warnings do not (a step not set up yet, a Map step reading an input key no input answers). |
| [Publish Workflow](/docs/api/rest/actions/publish-workflow) | POST `/v2/workflows/{workflowId}/publish` | Make the draft the version that runs. |
| [List Workflow Versions](/docs/api/rest/actions/list-workflow-versions) | GET `/v2/workflows/{workflowId}/versions` | See a workflow's history: the current draft plus every published and unpublished version, newest first. |
| [Restore Workflow Version](/docs/api/rest/actions/restore-workflow-version) | POST `/v2/workflows/{workflowId}/versions/{version}/restore` | Copy a saved version into the draft, replacing it. |

### Runs › Run and cancel

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Run Workflow](/docs/api/rest/actions/run-workflow) | POST `/v2/workflows/{workflowId}/run` | Start a run and get its id back right away. |
| [Cancel Run](/docs/api/rest/actions/cancel-run) | POST `/v2/runs/{runId}/cancel` | Ask a run to stop. |

### Runs › History

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List Runs](/docs/api/rest/actions/list-runs) | GET `/v2/workflows/{workflowId}/runs` | See every time a workflow ran. |
| [Get Run](/docs/api/rest/actions/get-run) | GET `/v2/runs/{runId}` | Check one run: status, timing, task count, and, while it is still running, the step it is on. |
| [List Run Steps](/docs/api/rest/actions/list-run-steps) | GET `/v2/runs/{runId}/steps` | See which steps a run executed and whether each one succeeded, without downloading any payloads. |
| [Get a Run Step](/docs/api/rest/actions/get-run-step) | GET `/v2/runs/{runId}/steps/{stepInstanceId}` | Inspect one step of a run: the exact data it received and the exact data it returned. |
| [List Run Operations](/docs/api/rest/actions/list-run-operations) | GET `/v2/runs/{runId}/operations` | See every record a run created or updated, and every error or warning it hit. |
| [List Workflow Operations](/docs/api/rest/actions/list-workflow-operations) | GET `/v2/workflows/{workflowId}/operations` | Monitor record-level errors across every retained run of a workflow. |
| [List Operations](/docs/api/rest/actions/list-operations) | GET `/v2/operations` | Monitor record-level errors across workflows in one organization. |

### Usage

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Get Usage Summary](/docs/api/rest/actions/get-usage) | GET `/v2/usage` | Check how many tasks you have used this period and how close you are to your limit. |
| [Get Daily Usage](/docs/api/rest/actions/get-usage-daily) | GET `/v2/usage/daily` | See how your task usage trends day by day, up to 45 days at a time. |
| [Get Usage by Workflow](/docs/api/rest/actions/get-usage-workflows) | GET `/v2/usage/workflows` | Find out which workflows use the most tasks, highest first, and how embedded usage splits across [installations](/docs/embedded/getting-started/mindcloud-embedded-overview#installation). |

## Embedded

Connect your own end users’ apps from your product, and run actions with their accounts.

### End Users

| Endpoint | Request | What it does |
| --- | --- | --- |
| [List End Users](/docs/api/rest/actions/list-end-users) | GET `/v2/embedded/end-users` | See the people using MindCloud Embedded inside your product. |
| [Get End User](/docs/api/rest/actions/get-end-user) | GET `/v2/embedded/end-users/{endUserId}` | See one Embedded end user. |
| [Create End User](/docs/api/rest/actions/create-end-user) | POST `/v2/embedded/end-users` | Add someone from your product so they can connect their own accounts through Embedded. |
| [Update End User](/docs/api/rest/actions/update-end-user) | PUT `/v2/embedded/end-users/{endUserId}` | Update an end user's id, name, email, or metadata. |
| [Delete End User](/docs/api/rest/actions/delete-end-user) | DELETE `/v2/embedded/end-users/{endUserId}` | Remove an end user once their connections are gone. |

### Connections

| Endpoint | Request | What it does |
| --- | --- | --- |
| [Create Embedded Connect Link](/docs/api/rest/actions/create-embedded-connect-link) | POST `/v2/embedded/end-users/{endUserId}/connect-links` | Create a single-use link for an end user to connect an app account. |
| [List Embedded End User Connections](/docs/api/rest/actions/list-embedded-end-user-connections) | GET `/v2/embedded/end-users/{endUserId}/connections` | List the public app accounts owned by one end user. |
