# tsdav Documentation > TypeScript WebDAV client library wrapping CalDAV and CardDAV workflows for browsers and Node.js. This file contains links to documentation sections following the llmstxt.org standard. ## Table of Contents - [Intro](https://tsdav.vercel.app/docs/intro): [WEBDAV](https://tools.ietf.org/html/rfc4918), `Web Distributed Authoring and Versioning`, is an extension of the HTTP to allow handling distribute... - [CreateAccount](https://tsdav.vercel.app/docs/webdav/account/createAccount): construct webdav account information need to requests - [FetchHomeUrl](https://tsdav.vercel.app/docs/webdav/account/fetchHomeUrl): fetch resource home set url - [FetchPrincipalUrl](https://tsdav.vercel.app/docs/webdav/account/fetchPrincipalUrl): fetch resource principal collection url - [ServiceDiscovery](https://tsdav.vercel.app/docs/webdav/account/serviceDiscovery): automatically discover service root url - [CollectionQuery](https://tsdav.vercel.app/docs/webdav/collection/collectionQuery): query on [DAVCollection](../../types/DAVCollection.md) - [IsCollectionDirty](https://tsdav.vercel.app/docs/webdav/collection/isCollectionDirty): detect if the collection have changed - [MakeCollection](https://tsdav.vercel.app/docs/webdav/collection/makeCollection): [create a new collection](https://datatracker.ietf.org/doc/html/rfc5689#section-3) - [SmartCollectionSync](https://tsdav.vercel.app/docs/webdav/collection/smartCollectionSync): smart version of collection sync that combines ctag based sync with webdav sync. - [SupportedReportSet](https://tsdav.vercel.app/docs/webdav/collection/supportedReportSet): identifies the [reports that are supported by the resource](https://datatracker.ietf.org/doc/html/rfc3253#section-3.1.5) - [SyncCollection](https://tsdav.vercel.app/docs/webdav/collection/syncCollection): [One way to synchronize data between two entities is to use some form of synchronization token](https://datatracker.ietf.org/doc/html/rfc6578#secti... - [CreateObject](https://tsdav.vercel.app/docs/webdav/createObject): create an object - [DavRequest](https://tsdav.vercel.app/docs/webdav/davRequest): core request function of the library, - [DeleteObject](https://tsdav.vercel.app/docs/webdav/deleteObject): delete an object - [Propfind](https://tsdav.vercel.app/docs/webdav/propfind): The [PROPFIND](https://datatracker.ietf.org/doc/html/rfc4918#section-9.1) method retrieves properties defined on the resource identified by the Req... - [UpdateObject](https://tsdav.vercel.app/docs/webdav/updateObject): update an object - [CalendarMultiGet](https://tsdav.vercel.app/docs/caldav/calendarMultiGet): calendarMultiGet is used to retrieve specific calendar object resources from within a collection. - [CalendarQuery](https://tsdav.vercel.app/docs/caldav/calendarQuery): calendarQuery performs a search for all calendar object resources that match a specified filter. - [CreateCalendarObject](https://tsdav.vercel.app/docs/caldav/createCalendarObject): create one calendar object on the target calendar - [DeleteCalendarObject](https://tsdav.vercel.app/docs/caldav/deleteCalendarObject): delete one calendar object on the target calendar - [FetchCalendarObjects](https://tsdav.vercel.app/docs/caldav/fetchCalendarObjects): get all/specified calendarObjects of the passed in calendar - [FetchCalendarUserAddresses](https://tsdav.vercel.app/docs/caldav/fetchCalendarUserAddresses): Fetch all calendar user addresses of the passed in CALDAV account - [FetchCalendars](https://tsdav.vercel.app/docs/caldav/fetchCalendars): get all calendars of the passed in CALDAV account - [FreeBusyQuery](https://tsdav.vercel.app/docs/caldav/freeBusyQuery): query free busy data on calendar - [Importing iCal Feeds (Airbnb, Booking.com, etc.)](https://tsdav.vercel.app/docs/caldav/import-ical-feed): `tsdav` is a CalDAV and CardDAV client, which means it is designed to interact with DAV servers. It does not natively support ingesting and syncing... - [MakeCalendar](https://tsdav.vercel.app/docs/caldav/makeCalendar): create a new calendar on target account - [SyncCalendars](https://tsdav.vercel.app/docs/caldav/syncCalendars): sync local version of calendars with remote. - [UpdateCalendarObject](https://tsdav.vercel.app/docs/caldav/updateCalendarObject): create one calendar object - [AddressBookMultiGet](https://tsdav.vercel.app/docs/carddav/addressBookMultiGet): addressBookMultiGet is used to retrieve specific - [AddressBookQuery](https://tsdav.vercel.app/docs/carddav/addressBookQuery): performs a search for all address object resources that match a specified filter - [CreateVCard](https://tsdav.vercel.app/docs/carddav/createVCard): create one vcard on the target addressBook - [DeleteVCard](https://tsdav.vercel.app/docs/carddav/deleteVCard): delete one vcard on the target addressBook - [FetchAddressBooks](https://tsdav.vercel.app/docs/carddav/fetchAddressBooks): get all addressBooks of the passed in CARDDAV account - [FetchVCards](https://tsdav.vercel.app/docs/carddav/fetchVCards): get all/specified vcards of the passed in addressBook - [UpdateVCard](https://tsdav.vercel.app/docs/carddav/updateVCard): create one vcard - [DAVAccount](https://tsdav.vercel.app/docs/types/DAVAccount): ```ts - [DAVAddressBook](https://tsdav.vercel.app/docs/types/DAVAddressBook): ```ts - [DAVCalendar](https://tsdav.vercel.app/docs/types/DAVCalendar): ```ts - [DAVCalendarObject](https://tsdav.vercel.app/docs/types/DAVCalendarObject): ```ts - [DAVCollection](https://tsdav.vercel.app/docs/types/DAVCollection): ```ts - [DAVCredentials](https://tsdav.vercel.app/docs/types/DAVCredentials): ```ts - [DAVDepth](https://tsdav.vercel.app/docs/types/DAVDepth): ```ts - [DAVObject](https://tsdav.vercel.app/docs/types/DAVObject): ```ts - [DAVRequest](https://tsdav.vercel.app/docs/types/DAVRequest): ```ts - [DAVResponse](https://tsdav.vercel.app/docs/types/DAVResponse): ```ts - [DAVTokens](https://tsdav.vercel.app/docs/types/DAVTokens): ```ts - [DAVVCard](https://tsdav.vercel.app/docs/types/DAVVCard): ```ts - [ElementCompact](https://tsdav.vercel.app/docs/types/ElementCompact): ```ts - [AuthHelpers](https://tsdav.vercel.app/docs/helpers/authHelpers): convert the `username:password` into base64 auth header string: - [Constants](https://tsdav.vercel.app/docs/helpers/constants): xml namespace enum for convenience - [RequestHelpers](https://tsdav.vercel.app/docs/helpers/requestHelpers): :::caution - [Helper](https://tsdav.vercel.app/docs/helper): import { Converter } from '../src/components/Converter.tsx'; - [Smart calendar sync](https://tsdav.vercel.app/docs/smart%20calendar%20sync): To actually achieve two way syncing of calendar events between cloud provider and your service. - [Cloud providers](https://tsdav.vercel.app/docs/cloud%20providers): For apple you want to go to [this page](https://support.apple.com/en-us/HT204397) and after following the guide, you will have Apple ID and app-spe... - [Migration](https://tsdav.vercel.app/docs/migration): import { Converter } from '../src/components/Converter.tsx'; - [Contributing](https://tsdav.vercel.app/docs/contributing): First you need to clone the repo and - [LLM Integration](https://tsdav.vercel.app/docs/llms): AI-ready routes for LLMs to understand and interact with tsdav documentation