Apps API

Overview

The Apps API manages app packages (APKGs) in Cloudillo. Apps are microfrontend plugins that extend the platform with new functionality.

Endpoints

List Available Apps

GET /api/apps

List all available apps published on the platform.

Authentication: Optional

Query Parameters:

  • search - Search term (matches app name, description, tags)

Response:

{
  "data": [
    {
      "name": "docillo",
      "publisherTag": "apps.cloudillo.org",
      "version": "1.0.0",
      "actionId": "a1~abc123",
      "fileId": "b1~def456",
      "capabilities": ["crdt", "rtdb"]
    }
  ]
}

Example:

curl "https://cl-o.alice.cloudillo.net/api/apps?search=document"

Install App

POST /api/apps/install

Install an app from an APKG action.

Authentication: Required

Permission: Requires app management permission (leader-level)

Request Body:

{
  "actionId": "a1~abc123"
}

Response (201 Created):

{
  "data": {
    "appName": "docillo",
    "publisherTag": "apps.cloudillo.org",
    "version": "1.0.0",
    "actionId": "a1~abc123",
    "fileId": "b1~def456",
    "status": "A",
    "capabilities": ["crdt", "rtdb"],
    "autoUpdate": true
  }
}

Example:

curl -X POST -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"actionId":"a1~abc123"}' \
  "https://cl-o.alice.cloudillo.net/api/apps/install"

List Installed Apps

GET /api/apps/installed

List all apps installed on the current tenant.

Authentication: Required

Permission: Requires app management permission (leader-level)

Response:

{
  "data": [
    {
      "appName": "docillo",
      "publisherTag": "apps.cloudillo.org",
      "version": "1.0.0",
      "actionId": "a1~abc123",
      "fileId": "b1~def456",
      "status": "A",
      "capabilities": ["crdt", "rtdb"],
      "autoUpdate": true
    }
  ]
}

Uninstall App

DELETE /api/apps/@{publisher}/{name}

Uninstall an app.

Authentication: Required

Permission: Requires app management permission (leader-level)

Path Parameters:

  • publisher - Publisher identity tag
  • name - App name

Response: 204 No Content

Example:

curl -X DELETE -H "Authorization: Bearer $TOKEN" \
  "https://cl-o.alice.cloudillo.net/api/apps/@apps.cloudillo.org/docillo"

Get App Container Content

GET /api/files/{file_id}/content/{path}

Serve static assets from an installed app package. Used by the shell to load app resources.

Authentication: Optional

Path Parameters:

  • file_id - The app package file ID
  • path - Path to the asset within the package (e.g., index.html, assets/main.js)

Response: The file content with appropriate MIME type headers.

See Also