API
This section provides a comprehensive overview of the routes, types, and error codes for the features in the system, ensuring developers understand how to interact with the API and handle potent.
Endpoints
Section titled EndpointsEvery request requires a valid API key in the Authorization header.
A key can only access components you explicitly enabled when configuring the key. Requests for anything else are rejected.
List Available Applications
GET api/v1/components/appsList apps available to this key.
200: OK
[
{
"name": "Cubicl",
"icon": "cubicl.png",
"key": "cubicl"
}
]Get Component Definitions
GET api/v1/components/listReturn definitions (inputs, outputs, descriptions) for all components this key may use.
200: OK
[
{
"id": "action.cubicl.get-client",
"name": "Get Client",
"desc": "Gets client details. [See the docs here](https://docs.cubicl.io/api-integration/clients#get-client-by-id).",
"appKey": "cubicl",
"appName": "Cubicl",
"icon": "cubicl.jpg",
"inputs": {
"_connection": {
"title": "Cubicl Connection",
"type": "string"
},
"clientId": {
"title": "clientId",
"description": "The ID of the client to be retrieved.",
"type": "string"
}
},
"outputs": {
"client": {
"title": "client",
"type": "object",
"properties": {}
},
"customFields": {
"title": "customFields",
"description": "Shows the names of the \"id\" values in the customFields field of the client. If not defined in the Cubicl, it comes empty.",
"type": "array",
"items": {
"type": "object",
"properties": {}
}
},
"notFound": {
"title": "notFound",
"type": "null"
}
},
"required": [
"_connection",
"clientId"
]
},
]Get Component Details
GET api/v1/components/details/:componentKeyReturn the full definition for one component.
Path Parameters
Name | Type | Description |
componentKey* | String | Component id β e.g. "action.cubicl.get-client" |
200: OK
// Component DetailsRun Component
GET api/v1/components/:componentId/runExecute an action.
Path Parameters
Name | Type | Description |
componentId* | String | Component id β e.g. "action.cubicl.get-client" |
Body
Name | Type | Description |
inputs* | Object | Component inputs |
200: OK
{
"name": "Result name",
"outputs": {
"result": "VALUE"
},
"componentId": "action.misc.logger",
"creditsUsed": 1
}Each entry in outputs is a typed value (type + data). Paid components may consume credits from your team's balance.
List Registered Triggers
GET api/v1/components/triggers200: OK
[
{
"_id": "6a295afb530d2213967340c1",
"componentId": "trigger.cubicl.task-archived",
"inputs": {
"group": "GROUP_ID"
},
"createdAt": "2026-06-10T12:39:23.183Z"
},
]Remove a trigger. Returns 404 if the trigger does not belong to this key.
Register Trigger
POST api/v1/components/triggersBody
Name | Type | Description |
componentKey* | String | Trigger component id β e.g. "trigger.cubicl.task-archived" |
inputs | Object | Trigger register parameters (varies according to component definition) |
200: OK
{
"triggerId": "6a296203f6dd56f7cd1d4313"
}Unregister Trigger
DELETE api/v1/components/triggers/:triggerIdRemove a trigger. Returns 404 if the trigger does not belong to this key.
Path Parameters
Name | Type | Description |
triggerId* | String | Registered trigger id |
200: OK
// EmptyErrors
Section titled ErrorsErrors are returned as JSON with an HTTP status code:
{
"statusCode": 403,
"message": "Invalid API key.",
"error": "Forbidden"
}Authentication (403 Forbidden)
Message | Meaning |
|---|---|
| Missing header or incorrect |
| Key is wrong, deleted, or regenerated |
Authorization (403 Forbidden)
Message | Meaning |
|---|---|
| Component not enabled on this key β update the key in the dashboard |
| Trigger component not enabled on this key |
Not found (404)
Message | Meaning |
|---|---|
| Key ID invalid or not in your team |
| Unknown component or not enabled on this key |
| Trigger missing or belongs to another key |
Validation (400 Bad Request)
Message | Meaning |
|---|---|
| Linked account is missing or invalid |
| Authenticated app configured without a connection |
| Connection set but no components chosen |
| Unrecognized component ID |
| Linked account expired or revoked at runtime |
Runtime failures
Status | Meaning |
|---|---|
| Invalid or incomplete inputs |
| The action ran but failed (e.g. upstream API error) |
| Unexpected server error β contact support if it persists |
Examples
Section titled ExamplesReplace YOUR_API_KEY and the base URL with your values.
# List allowed components
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://app.monkedo.com/api/v1/components/list
# Run an action
curl -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"inputs": {"getOnlyNames": true, "limit": 50, "skip": 0}}' \
https://app.monkedo.com/api/v1/components/action.cubicl.get-clients/run
# Register a trigger
curl -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"componentKey": "trigger.cubicl.task-created", "inputs": {"group": GROUP_ID}}' \
https://app.monkedo.com/api/v1/components/triggers