Skip to content
Go to app

Errors

Open in ChatGPT

Every Publisher API error comes in the same format: application/problem+json per RFC 9457.

{
"type": "https://docs.kalender-sync.de/en/api/errors/invalid_request",
"title": "The request is invalid",
"status": 400,
"code": "invalid_request",
"request_id": "req_…",
"errors": [
{ "field": "end", "code": "end_before_start", "message": "end must not be before start." }
]
}
FieldMeaning
typeLink to the explanation of the error in these docs.
titleShort description of the HTTP status.
statusHTTP status, as in the response.
codeStable, machine-readable error code. Branch on this, not on title or detail.
detailOptional: explanation for humans, may change.
request_idUnique id of the request. Quote it when you contact support.
errorsOnly with invalid_request: every field error with field, code and message.

New error codes may be added. Handle unknown codes by their HTTP status: 4xx means “fix the request”, 429 and 5xx mean “retry later”.

CodeStatusMeaning
missing_api_key401No API key in the request.
invalid_api_key401The API key is invalid, revoked or expired.
insufficient_scope403The key lacks the required permission.
plan_required403Your plan does not cover this live calendar.
calendar_blocked403We blocked this calendar.
terms_required403Live calendars need your consent to the additional terms.
invalid_request400The request is invalid.
invalid_external_id400The external_id of a batch operation is invalid.
invalid_cursor400The pagination cursor is invalid.
invalid_idempotency_key400The Idempotency-Key is too long.
idempotency_key_reused409The Idempotency-Key was used for a different request.
idempotency_in_progress409The first request with this Idempotency-Key is still running.
not_found404This endpoint does not exist.
calendar_not_found404No calendar with this id for this key.
event_not_found404No event with this external_id in this calendar.
sync_not_found404No full sync with this id for this calendar.
sync_expired409The full sync has expired.
sync_completed409The full sync is already complete.
calendar_limit_reached409The account already has as many calendars as allowed.
event_limit_reached409The calendar holds the maximum number of events.
sequence_mismatch409The event changed since the sequence you sent.
large_delete409The full sync would delete more than half of the events.
invalid_image400No image in the request body.
image_too_large413The image is too large.
unsupported_image_type415The image is not PNG, JPEG or WebP.
payload_too_large413The request body is too large.
unsupported_media_type415This endpoint does not accept the Content-Type.
rate_limited429Too many requests.
internal_error500Unexpected error on our side.

Field errors inside invalid_request (for example invalid_timezone or unsupported_rrule) are listed under Events: validation errors.