# create_public_calendar Behavior, inputs, outputs and permissions for create_public_calendar. Source: https://docs.getridian.com/developers/tools/create_public_calendar/ Language: en Reviewed: 2026-10-06 This reference is generated from the published tool contract. ## Behavior and boundaries Creates a subscription calendar. Its content is public: anyone with the feed URL can read every event. Default mode is test (name shown with [TEST], does not count toward the plan); mode=live counts toward the plan's live calendars. Returns feed URL and subscribe links. ## Permissions Granted scopes, accounts, calendars and visibility rules limit access. Workspace administrators do not automatically gain access to other users’ accounts. `public_calendars:write` [Consent and boundaries](https://docs.getridian.com/developers/authentication/) ## Input ```json { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 100 }, "description": { "type": "string", "maxLength": 1000 }, "timezone": { "description": "IANA time zone, e.g. \"Europe/Berlin\". Default for events without their own zone.", "type": "string", "maxLength": 64 }, "language": { "type": "string", "enum": [ "de", "en" ] }, "default_duration_minutes": { "type": "integer", "minimum": 1, "maximum": 1440 }, "brand_color": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" }, "site_url": { "type": "string", "maxLength": 2000, "format": "uri" }, "show_events": { "type": "boolean" }, "mode": { "type": "string", "enum": [ "test", "live" ] } }, "required": [ "name" ], "additionalProperties": false } ``` ## Output ```json { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "calendar": { "type": "object", "properties": { "id": { "type": "string" }, "mode": { "type": "string", "enum": [ "live", "test" ] }, "name": { "type": "string" }, "timezone": { "type": "string" }, "feed_url": { "type": "string" }, "subscribe_links": { "type": "object", "properties": { "google": { "type": "string" }, "outlook": { "type": "string" }, "office365": { "type": "string" }, "apple": { "type": "string" } }, "required": [ "google", "outlook", "office365", "apple" ], "additionalProperties": false }, "event_count": { "type": "number" }, "active_subscribers": { "type": "number" }, "console_url": { "type": "string" } }, "required": [ "id", "mode", "name", "timezone", "feed_url", "subscribe_links", "event_count", "active_subscribers", "console_url" ], "additionalProperties": false } }, "required": [ "calendar" ], "additionalProperties": false } ``` ## Errors and retries Check the tool result for errors. Do not blindly retry writes after a timeout. Check the current resource or send status first. [Error handling](https://docs.getridian.com/developers/errors/)