Calendar API
Errors
HTTP status codes
| Status | Meaning |
|---|---|
200 | Request succeeded |
400 Bad Request | Invalid from/to/kind, to before from, or a range exceeding 90 days |
401 Unauthorized | Missing, malformed, or revoked API key |
403 Forbidden | API key lacks the read:calendar scope |
429 Too Many Requests | Rate limit exceeded |
Every error response has the shape:
{ "error": "<message>" }400 Bad Request
Returned for any of:
{ "error": "from must be an ISO 8601 date, 'YYYY-MM-DD'." }{ "error": "to must be an ISO 8601 date, 'YYYY-MM-DD'." }{ "error": "to must be on or after from." }{ "error": "The date range cannot exceed 90 days." }{ "error": "kind must be one of: task, deal-close, campaign, followup, birthday." }401 Unauthorized
{ "error": "Invalid or missing API key." }Returned when the Authorization header is missing, malformed, or the key is expired/revoked.
403 Forbidden
{ "error": "API key missing required scope: read:calendar." }Returned when the key is valid but lacks read:calendar (and doesn't have *).
429 Too Many Requests
{ "error": "Rate limit exceeded." }Retry after the number of seconds in the Retry-After response header. Each API key is limited to 120 requests/minute (platform-enforced).
Limits
- Max date range: 90 days from
fromtoto, inclusive — enforced at the request level (400if exceeded). - Each API key is limited to 120 requests/minute (platform-enforced). Exceeding it returns
429 Too Many Requestswith aRetry-Afterheader (seconds until the window resets).