Topolo Docs Topolo Platform
Open workspace

Get booking operations widget — Calendar

Read the Calendar operational summary and its scope/state.

Read the Calendar operational summary and its scope/state.

Action: app_topolo_calendar.widget.get · GET /api/widget

Declared permission: app_topolo_calendar.host:read. For authorized Calendar users; permissions and resource access still apply.

Before you start

  • Use the current credential to confirm the production organization and inspect this exact action before preparing a call.
  • Declared permission: app_topolo_calendar.host:read. Permission discovery is not a grant.
  • Discover the authorized Calendar workspace and pass it as resourceType=workspace/resourceId separately from this action input. Calendar records and IDs are scoped to the selected host/workspace.

Inputs and field meanings

No action input fields. Supply the empty JSON object {}; keep resource context separate.

Worked request and response

Source-reviewed illustration only. Nothing below was executed; all identifiers, counts, states, credentials and URLs are synthetic. Replace identifiers through discovery before any separately authorized call.

Resource context: workspace; it is not an extra action input field.

Illustrative action input:

{}

Illustrative HTTP 200 response excerpt:

{
  "contractVersion": "3.0.0",
  "widgets": [
    {
      "id": "calendar.booking-operations",
      "state": {
        "status": "empty",
        "message": "Calendar is not configured yet; create a host before publishing booking types."
      },
      "metrics": []
    }
  ]
}

This is an explicitly partial response excerpt. The full v3 envelope also requires success, appId, serviceName, generatedAt and widget presentation/resource/refresh/configuration/localization/contribution/accessibility fields. empty means unconfigured/inaccessible context in this illustration, not zero verified business activity.

The worked response is an explicitly incomplete excerpt; full-response schema conformance is not asserted.

Effects and verification

  • Reads Calendar summary metrics for the verified organization/workspace through the widget server.
  1. Validate a real full response against the declared schema; inspect widget.resource/state, generatedAt and metric periods before drawing conclusions.

Refusals and recovery

Selected source refusals are listed below; runtime middleware can return additional structured errors.

HTTPErrorSupported response
403forbiddenReconcile the declared permission, organization and verified resource grant with the legitimate access owner; do not switch context to bypass a refusal.

Recovery: This read does not mutate Calendar records. Correct the selected context or request fields before another authorized read.

  • app_topolo_calendar.host.get: Read the selected workspace host, including the unconfigured host:null state.
  • app_topolo_calendar.bookings.list: Find bookings within an explicit time window.
  • app_topolo_calendar.event_types.list: Discover active event types and their IDs.

Declared schemas and provenance

The hidden action guide carries these exact current declared schemas. They are not rewritten to make the illustrations pass.

Input schema:

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output schema:

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean"
    },
    "contractVersion": {
      "type": "string",
      "const": "3.0.0"
    },
    "appId": {
      "type": "string"
    },
    "serviceName": {
      "type": "string"
    },
    "generatedAt": {
      "type": "string"
    },
    "widgets": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "presentation": {
            "type": "object",
            "additionalProperties": true
          },
          "resource": {
            "type": "object",
            "additionalProperties": true
          },
          "state": {
            "type": "object",
            "additionalProperties": true
          },
          "refresh": {
            "type": "object",
            "additionalProperties": true
          },
          "configuration": {
            "type": "object",
            "additionalProperties": true
          },
          "drilldowns": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "controls": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "localization": {
            "type": "object",
            "additionalProperties": true
          },
          "accessibility": {
            "type": "object",
            "additionalProperties": true
          },
          "contribution": {
            "type": "object",
            "properties": {
              "summary": {
                "type": "string"
              },
              "identity": {
                "type": "object",
                "additionalProperties": true
              },
              "workspaceSelector": {
                "type": "object",
                "additionalProperties": true
              },
              "metricDefinitions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                }
              },
              "seriesDefinitions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                }
              },
              "dimensions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                }
              },
              "lifecycleStages": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                }
              },
              "events": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                }
              },
              "datasets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                }
              },
              "compatibleVisualizations": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "defaultVisualization": {
                "type": "string"
              }
            },
            "required": [
              "summary",
              "identity",
              "workspaceSelector",
              "metricDefinitions",
              "seriesDefinitions",
              "dimensions",
              "lifecycleStages",
              "events",
              "datasets",
              "compatibleVisualizations",
              "defaultVisualization"
            ],
            "additionalProperties": false
          },
          "metrics": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          }
        },
        "required": [
          "id",
          "version",
          "type",
          "presentation",
          "resource",
          "state",
          "refresh",
          "configuration",
          "drilldowns",
          "controls",
          "localization",
          "accessibility",
          "contribution",
          "metrics"
        ],
        "additionalProperties": true
      }
    },
    "workspace": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            },
            "name": {
              "type": "string"
            }
          },
          "required": [
            "id",
            "name"
          ],
          "additionalProperties": true
        },
        {
          "type": "null"
        }
      ]
    },
    "workspaces": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": true
      }
    }
  },
  "required": [
    "success",
    "contractVersion",
    "appId",
    "serviceName",
    "generatedAt",
    "widgets"
  ],
  "additionalProperties": true
}

Source: TopoloCalendar@b378ceb73800ee1d1e6c4ff6f0b4179918cf632c, apps/api/src/calendar-widget.ts. Current catalog metadata and source were compared without executing the application.

  • Source-reviewed synthetic input/response; not captured or executed.
  • Source revision is not proof of current deployment, caller access, provider connection or notification delivery.
  • The worked response is an explicitly incomplete excerpt; full-response schema conformance is not asserted.
  • The published action declares host:read; widget resource metadata names additional host/event_types/bookings/availability permissions. Reconcile actual entitlement/scope rather than inferring comprehensive access from one declared scope.