CalDAV & CardDAV
The standard protocols for phones and desktop apps (/mail/dav/, HTTP Basic with an app password) and the read-only .ics subscription links (/mail/ics/<token>.ics, the token is the key).
| Method | Path | Summary |
|---|---|---|
/dav/* | CalDAV/CardDAV capabilities | |
| ALL | /dav/* | CalDAV and CardDAV |
| GET | /ics/:file | Read a calendar from its .ics link |
| ALL | /.well-known/caldav | CalDAV discovery |
| ALL | /.well-known/carddav | CardDAV discovery |
#CalDAV/CardDAV capabilities
/dav/*- Address
https://<your-org>.brambleit.cloud/mail/dav/*- Requires
- None: public, or protected by a token in the address or body.
Response
An empty body.
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/mail/dav/*', {
method: 'OPTIONS',
credentials: 'include',
});
const data = await res.json();#CalDAV and CardDAV
ALL
/dav/*The standard WebDAV methods (PROPFIND, REPORT, GET, PUT, DELETE, MKCALENDAR…). Sign in with HTTP Basic: your email address and password or an app password.
- Address
https://<your-org>.brambleit.cloud/mail/dav/*- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Response
An empty body.
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/mail/dav/*', {
method: 'ALL',
credentials: 'include',
});
const data = await res.json();#Read a calendar from its .ics link
GET
/ics/:file- Address
https://<your-org>.brambleit.cloud/mail/ics/:file- Requires
- None: public, or protected by a token in the address or body.
Path parameters
| Name | Type | Description |
|---|---|---|
filerequired | string |
Response
A body.
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/mail/ics/string', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();#CalDAV discovery
ALL
/.well-known/caldav- Address
https://<your-org>.brambleit.cloud/mail/.well-known/caldav- Requires
- None: public, or protected by a token in the address or body.
Response
A redirect.
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/mail/.well-known/caldav', {
method: 'ALL',
credentials: 'include',
});
const data = await res.json();#CardDAV discovery
ALL
/.well-known/carddav- Address
https://<your-org>.brambleit.cloud/mail/.well-known/carddav- Requires
- None: public, or protected by a token in the address or body.
Response
A redirect.
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/mail/.well-known/carddav', {
method: 'ALL',
credentials: 'include',
});
const data = await res.json();Was this page helpful?
Thanks for your feedback.