Skip to content

Connect a CalDAV account

POST
/api/v1/calendar/accounts
curl --request POST \
--url https://example.com/api/v1/calendar/accounts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "app_password": "example", "endpoint": "example", "username": "example" }'

Requires a signed-in User. It checks the account, saves its credentials and Calendars, then starts a refresh. It returns an error when the account cannot be checked or saved. Route: /api/v1/calendar/accounts. Inputs: . Do not automatically replay this operation after an uncertain result.

Media typeapplication/json
object
app_password
required
string
endpoint
required
string
username
required
string
Examplegenerated
{
"app_password": "example",
"endpoint": "example",
"username": "example"
}
Media typeapplication/json
object
created_at
required
string
enabled
required
boolean
endpoint
required
string
id
required
string
integration_account
required
boolean
integration_account_id
string | null
last_error
string | null
last_sync_at
string | null
Examplegenerated
{
"created_at": "example",
"enabled": true,
"endpoint": "example",
"id": "example",
"integration_account": true,
"integration_account_id": "example",
"last_error": "example",
"last_sync_at": "example"
}
Media typeapplication/json

The standard API error response: { "error": { ... } }.

object
error
required

Error details.

object
code
required

Stable machine-readable code.

string
Allowed values: bad_request unauthorized forbidden not_found conflict name_conflict_case name_too_long push_endpoint_rejected too_many_requests internal service_unavailable
details
One of:

Optional field or operation details.

object
key
additional properties
string
message
required

Safe text for logs or a user-facing error message.

string
Example
{
"error": {
"code": "bad_request"
}
}