# write_public_calendar_events Verhalten, Eingaben, Ausgaben und Freigaben für write_public_calendar_events. Source: https://docs.getridian.com/de/developers/tools/write_public_calendar_events/ Language: de Reviewed: 2026-10-06 Diese Referenz wird aus dem veröffentlichten Werkzeugvertrag erzeugt. Feldnamen und normative Beschreibungen im Schema sind Englisch. ## Verhalten und Grenzen Legt bis zu 100 Termine eines Abo-Kalenders an, ersetzt oder löscht sie. upserts ersetzen einen Termin mit derselben external_id vollständig; deletes entfernen Termine per external_id. Ergebnisse je Eintrag; ein ungültiger Eintrag hält die anderen nicht auf. Inhalte sind öffentlich. Abonnenten sehen Änderungen beim nächsten Abruf (Google bis zu 24 Stunden). ## Berechtigungen Freigegebene Scopes, Konten, Kalender und Sichtbarkeitsregeln begrenzen den Zugriff. Ein Workspace-Admin erhält dadurch keinen pauschalen Zugriff auf fremde Konten. `public_calendars:write` [Freigaben und Grenzen](https://docs.getridian.com/de/developers/authentication/) ## Eingabe ```json { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "calendar_id": { "type": "string", "minLength": 1, "maxLength": 64, "description": "Calendar id from list_public_calendars." }, "upserts": { "maxItems": 100, "type": "array", "items": { "type": "object", "properties": { "external_id": { "type": "string", "pattern": "^[A-Za-z0-9._:-]{1,128}$", "description": "Your stable id for the event: 1–128 letters, digits and . _ : -. Writing the same id again replaces the event." }, "event": { "type": "object", "properties": { "title": { "type": "string", "minLength": 1, "maxLength": 255 }, "start": { "type": "string", "description": "Local \"2027-01-16T10:00\" in the event zone, an ISO timestamp with offset, or a date \"2027-01-16\" for all-day events." }, "end": { "description": "Exclusive date for all-day events; otherwise like start. Default: calendar default length.", "type": "string" }, "timezone": { "type": "string", "maxLength": 64 }, "all_day": { "type": "boolean" }, "location": { "type": "string", "maxLength": 500 }, "url": { "description": "https link shown in the event.", "type": "string", "maxLength": 2000 }, "description": { "type": "string", "maxLength": 65536 }, "status": { "type": "string", "enum": [ "confirmed", "tentative", "cancelled" ] }, "show_as": { "type": "string", "enum": [ "free", "busy" ] }, "categories": { "maxItems": 10, "type": "array", "items": { "type": "string", "minLength": 1, "maxLength": 50 } }, "alarms": { "description": "Reminders in minutes before start.", "maxItems": 3, "type": "array", "items": { "type": "integer", "minimum": 0, "maximum": 40320 } }, "recurrence": { "type": "object", "properties": { "rules": { "minItems": 1, "maxItems": 5, "type": "array", "items": { "type": "string", "maxLength": 500 }, "description": "RRULEs such as \"FREQ=WEEKLY;BYDAY=TH;COUNT=6\". DAILY to YEARLY only." }, "except_dates": { "maxItems": 1000, "type": "array", "items": { "type": "string" } } }, "required": [ "rules" ], "additionalProperties": false } }, "required": [ "title", "start" ], "additionalProperties": {} } }, "required": [ "external_id", "event" ], "additionalProperties": false } }, "deletes": { "maxItems": 100, "type": "array", "items": { "type": "string", "pattern": "^[A-Za-z0-9._:-]{1,128}$", "description": "Your stable id for the event: 1–128 letters, digits and . _ : -. Writing the same id again replaces the event." } } }, "required": [ "calendar_id" ], "additionalProperties": false } ``` ## Ausgabe ```json { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "results": { "type": "array", "items": { "type": "object", "properties": { "external_id": { "type": "string" }, "status": { "type": "number" }, "changed": { "type": "boolean" }, "deleted": { "type": "boolean" }, "error": { "type": "object", "properties": { "code": { "type": "string" }, "detail": { "type": "string" } }, "required": [ "code" ], "additionalProperties": {} } }, "required": [ "external_id", "status" ], "additionalProperties": false } } }, "required": [ "results" ], "additionalProperties": false } ``` ## Fehler und Wiederholungen Prüfe das Werkzeugergebnis auf Fehler. Wiederhole Schreiboperationen nicht blind nach einem Timeout. Prüfe zuerst den aktuellen Ressourcen- oder Sendestatus. [Fehlerbehandlung](https://docs.getridian.com/de/developers/errors/)