For the complete documentation index, see llms.txt. This page is also available as Markdown.

API Reference

You can download your own API reference by going to your instance's host and accessing it via /docs/openapi/json . example: https://canary.novel.dev/docs/openapi/json

This document is up to date for Release 2025.1.0

Auth

Auth Callback

get

Callback called by an authentication strategy available to the application.

Path parameters
strategystringRequired
Responses
301

Authentication successful. Redirecting to next step...

application/json
anyOptional

Authentication successful. Redirecting to next step...

get/auth/{strategy}/callback
301

Authentication successful. Redirecting to next step...

No content

Start Reset Password

post

Start a reset password attempt.

Body
emailstring · emailOptional
Responses
204

Forget password attempt created.

application/json
anyOptional

Forget password attempt created.

post/auth/forgot
204

Forget password attempt created.

No content

Final MFA Step

post

Proceed to the application after a successful MFA attempt.

Path parameters
strategystringRequired
Body
otpstringOptional
Responses
301

Authentication successful. Redirecting to next step...

application/json
anyOptional

Authentication successful. Redirecting to next step...

post/auth/{strategy}/mfa
301

Authentication successful. Redirecting to next step...

No content

Auth Passwordless

get

Authenticate by passwordless strategy available to the application.

Responses
301

Authentication successful. Redirecting to next step...

application/json
anyOptional

Authentication successful. Redirecting to next step...

get/auth/passwordless/verify
301

Authentication successful. Redirecting to next step...

No content

Generate Payment Intent

post

Create a payment intent to be used for upfront payment collection.

Body
planstringOptional
org_idstringOptional
Responses
200

Payment intent creation successful.

application/json

Payment intent creation successful.

post/signup/intent
200

Payment intent creation successful.

Reset Password

post

Final step in resetting a user's password.

Body
emailstring · emailRequired
passwordstringRequired
tokenstringRequired
Responses
201

Reset successful. Redirecting to next step...

application/json

Reset successful. Redirecting to next step...

redirect_tostringOptional
post/auth/reset
201

Reset successful. Redirecting to next step...

Sign Up

post

Start the sign up process.

Body
emailstring · emailRequired
passwordstringRequired
intentstringOptional
intervalundefined · enumOptionalPossible values:
planstringOptional
methodstringOptional
invitation_codestringOptional
Responses
200

Sign up successful. Redirecting to next step...

application/json

Sign up successful. Redirecting to next step...

redirect_tostringOptional
post/signup
200

Sign up successful. Redirecting to next step...

Auth by Strategy

post

Authenticate by strategy available to the application.

Path parameters
strategystringRequired
Body
emailstring · emailOptional
passwordstringOptional
Responses
200

Authentication successful. Redirecting to next step...

application/json

Authentication successful. Redirecting to next step...

redirect_tostringOptional
post/auth/{strategy}

Auth by Strategy

get

Authenticate by strategy available to the application.

Path parameters
strategystringRequired
Responses
200

Authentication successful. Redirecting to next step...

application/json

Authentication successful. Redirecting to next step...

redirect_tostringOptional
get/auth/{strategy}

Application

List Subscription Plans

get

List the plans available to a user.

Responses
200

Default Response

application/json
get/api/v1/plans
200

Default Response

Current CSRF

get

Get the CSRF of the current session.

Responses
200

Default Response

application/json
csrfstringOptional
get/api/v1/csrf
200

Default Response

Session Context

get

Get the important details required when accessing an authenticated screen.

Authorizations
sessionstringRequired
Responses
200

Default Response

application/json
get/api/v1/session
200

Default Response

End Session

get

End the current session.

Authorizations
sessionstringRequired
Responses
301

Redirecting to the logout screen...

application/json
anyOptional

Redirecting to the logout screen...

get/session/end
301

Redirecting to the logout screen...

No content

Switch Organization

post

Switch organization of the current session.

Authorizations
sessionstringRequired
Body
org_idstringOptional
Responses
204

Switched organization successfully.

application/json
anyOptional

Switched organization successfully.

post/api/v1/session/switch
204

Switched organization successfully.

No content

Accounts

Account Events

get

Search list of events relate to user actions triggered by logger.account or a record in the AccountEvents model.

Authorizations
sessionstringRequired
Responses
200

Default Response

application/json
get/api/v1/account/events
200

Default Response

Account Profile

get

Returns the available profile data for the currently logged in user.

Authorizations
sessionstringRequired
Responses
200

Default Response

application/json
get/api/v1/account
200

Default Response

Update Account Profile

patch

Update the currently logged in account's profile.

Authorizations
sessionstringRequired
Body
display_namestring · min: 6Optional
picturestring · uriOptional
urlstring · uriOptional
Responses
204

User profile updated successfully.

application/json
anyOptional

User profile updated successfully.

patch/api/v1/account
204

User profile updated successfully.

No content

Account Security

get

Returns the available security data for the currently logged in user.

Authorizations
sessionstringRequired
Responses
200

Default Response

application/json
mfastring · nullableOptional
get/api/v1/account/security
200

Default Response

Account Sessions

get

Returns the available sessions related to the currently logged in user.

Authorizations
sessionstringRequired
Responses
200

Default Response

application/json
get/api/v1/account/sessions
200

Default Response

Revoke Account Session

delete

Revoke a session related to the currently logged in user.

Authorizations
sessionstringRequired
Body
session_idstringOptional
Responses
204

Session revoked successfully.

application/json
anyOptional

Session revoked successfully.

delete/api/v1/account/sessions
204

Session revoked successfully.

No content

Account Settings

get

Settings related to the currently logged in user.

Authorizations
sessionstringRequired
Responses
200

Default Response

application/json
get/api/v1/account/settings
200

Default Response

Update Account Settings

patch

Update the currently logged in account's settings.

Authorizations
sessionstringRequired
Body
themestringOptional
timezonestringOptional
languagestringOptional
marketingbooleanOptional
newsletterbooleanOptional
Responses
204

User configuration updated successfully.

application/json
anyOptional

User configuration updated successfully.

patch/api/v1/account/settings
204

User configuration updated successfully.

No content

Update Account Password

post

Update the currently logged in account's password.

Authorizations
sessionstringRequired
Body
passwordstring · min: 6 · max: 64Required
new_passwordstring · min: 6 · max: 64Required
Responses
204

User password updated successfully.

application/json
anyOptional

User password updated successfully.

post/api/v1/account/password
204

User password updated successfully.

No content

Deactivate Account

post

Deactivate an active account.

Authorizations
sessionstringRequired
Body
sudo_passwordstringRequired
Responses
204

Account has been deactivated.

application/json
anyOptional

Account has been deactivated.

post/api/v1/account/deactivate
204

Account has been deactivated.

No content

Generate MFA Secret

get

Generates a QR and a secret that can be used by the user to register an authenticator.

Authorizations
sessionstringRequired
Responses
200

Default Response

application/json
get/api/v1/account/mfa
200

Default Response

Register MFA Secret

put

Attach a TOTP secret to a user for use with MFA during login.

Authorizations
sessionstringRequired
Body
tokenstringRequired
secretstringRequired
Responses
204

MFA secret registered successfully.

application/json
anyOptional

MFA secret registered successfully.

put/api/v1/account/mfa
204

MFA secret registered successfully.

No content

Revoke MFA secret

delete

Revoke registered secret so a user can register a new one. It is possible to register and overwrite an existing mfa secret.

Authorizations
sessionstringRequired
Body
sudo_passwordstringRequired
Responses
204

MFA secret revoked successfully.

application/json
anyOptional

MFA secret revoked successfully.

delete/api/v1/account/mfa
204

MFA secret revoked successfully.

No content

Organizations

Organization Detail

get

Details of the organization.

Authorizations
sessionstringRequired
Responses
200

Default Response

application/json
get/api/v1/organization
200

Default Response

Deactivate Organization

delete

Deactivate an organization tied to the currently logged in session.

Authorizations
sessionstringRequired
Body
sudo_passwordstringRequired
org_idstring · min: 6Required
Responses
204

Organization has been deactivated.

application/json
anyOptional

Organization has been deactivated.

delete/api/v1/organization
204

Organization has been deactivated.

No content

Create Organization

post

Create a new organization tied to the user making the request.

Authorizations
sessionstringRequired
Body
namestring · min: 6Required
emailstring · emailRequired
personalbooleanOptional
Responses
200

Organization has been created.

application/json

Organization has been created.

idstringOptional
post/api/v1/organization
200

Organization has been created.

Update Organization

patch

Update the detail of the current organization.

Authorizations
sessionstringRequired
Body
namestring · min: 3Optional
emailstring · emailOptional
Responses
204

Updated organization successfully.

application/json
anyOptional

Updated organization successfully.

patch/api/v1/organization
204

Updated organization successfully.

No content

Organization Events

get

Events that have happened within the organization.

Authorizations
sessionstringRequired
Responses
200

Default Response

application/json
get/api/v1/organization/events
200

Default Response

Invite to Organization

post

Invite a particular user/email to the organization.

Authorizations
sessionstringRequired
Body
Responses
204

Invite sent successfully.

application/json
anyOptional

Invite sent successfully.

post/api/v1/organization/invite
204

Invite sent successfully.

No content

Revoke Organization Invitation

delete

Revoke the invitation sent by the currently logged in user from an organization.

Authorizations
sessionstringRequired
Body
Responses
204

Invitations revoked successfully.

application/json
anyOptional

Invitations revoked successfully.

delete/api/v1/organization/invite
204

Invitations revoked successfully.

No content

Accept Organization Invitation

post

Accept an invitation coming from an organization.

Authorizations
sessionstringRequired
Body
invitation_codestringOptional
Responses
204

Invite accepted successfully.

application/json
anyOptional

Invite accepted successfully.

post/api/v1/organization/invite/accept
204

Invite accepted successfully.

No content

Reject Organization Invitation

delete

Reject an invitation coming from an organization.

Authorizations
sessionstringRequired
Body
invitation_codestringOptional
Responses
204

Invite rejected successfully.

application/json
anyOptional

Invite rejected successfully.

delete/api/v1/organization/invite/reject
204

Invite rejected successfully.

No content

List of Organizations

get

List of organizations belonging to the currently logged in user.

Authorizations
sessionstringRequired
Responses
200

Default Response

application/json
get/api/v1/organizations
200

Default Response

List Members of Organization

get

List the members of the current organization in the session.

Authorizations
sessionstringRequired
Responses
200

Default Response

application/json
get/api/v1/organization/members
200

Default Response

Remove Organization Member

delete

Remove a member of an organization.

Authorizations
sessionstringRequired
Body
account_idstringOptional
Responses
204

Member removed successfully.

application/json
anyOptional

Member removed successfully.

delete/api/v1/organization/members
204

Member removed successfully.

No content

Promote Organization Member

post

Promote a member of an organization.

Authorizations
sessionstringRequired
Body
account_idstringOptional
rolesstring[]Optional
Responses
204

Member promoted successfully.

application/json
anyOptional

Member promoted successfully.

post/api/v1/organization/promote
204

Member promoted successfully.

No content

Organization Settings

get

Settings of the organization.

Authorizations
sessionstringRequired
Responses
200

Default Response

application/json
Other propertiesanyOptional
get/api/v1/organization/settings
200

Default Response

Subscription

Current Subscription

get

Return the current subscription the organization has active at the time of request.

Authorizations
sessionstringRequired
Responses
200

Default Response

application/json
subscribedbooleanOptional
subscriptionanyOptional
get/api/v1/subscription
200

Default Response

Cancel Subscription

post

Cancel the subscription currently applied to the organization.

Authorizations
sessionstringRequired
Responses
204

Subscription cancelled successfully.

application/json
anyOptional

Subscription cancelled successfully.

post/api/v1/subscription/cancel
204

Subscription cancelled successfully.

No content

Current Payment Methods

get

Return the payment methods available to the organization has active at the time of request.

Authorizations
sessionstringRequired
Responses
200

Default Response

application/json
get/api/v1/subscription/cards
200

Default Response

Add Payment Method

post

Add the payment method related to a user.

Authorizations
sessionstringRequired
Body
payment_methodstringRequired
setup_intentstringRequired
Responses
204

Payment method added successfully.

application/json
anyOptional

Payment method added successfully.

post/api/v1/subscription/methods
204

Payment method added successfully.

No content

Remove Payment Method

delete

Remove the payment method related to a user.

Authorizations
sessionstringRequired
Body
payment_method_idstringRequired
Responses
204

Payment method removed successfully.

application/json
anyOptional

Payment method removed successfully.

delete/api/v1/subscription/methods
204

Payment method removed successfully.

No content

Subscribe to Subscription

post

Subscribe to an available plan.

Authorizations
sessionstringRequired
Body
planstringOptional
intentstringOptional
methodstringOptional
intervalstringOptional
Responses
204

Subscription created successfully.

application/json
anyOptional

Subscription created successfully.

post/api/v1/subscription/upgrade
204

Subscription created successfully.

No content

API Keys

Revoke API Key

delete

Revoke the api key related to the currently logged in user.

Authorizations
sessionstringRequired
Body
access_idstringOptional
Responses
204

API key revoked successfully.

application/json
anyOptional

API key revoked successfully.

delete/api/v1/api-keys
204

API key revoked successfully.

No content

Key List

get

List the keys available to the currently logged in session.

Authorizations
sessionstringRequired
Responses
200

Default Response

application/json
get/api/v1/api-keys
200

Default Response

Generate Key

post

Generate an API key attached to the currently logged in user.

Authorizations
sessionstringRequired
Body
labelstringOptional
expirystringOptional
Responses
200

Key generated successfully.

application/json

Key generated successfully.

post/api/v1/api-keys
200

Key generated successfully.

Key Events

get

List the events related to a key.

Authorizations
sessionstringRequired
Responses
200

Default Response

application/json
get/api/v1/api-keys/events
200

Default Response

Files

Presign Files

put

Presign the file to be used and return a signed url.

Authorizations
sessionstringRequired
Body
keystringRequired
typestringRequired
Responses
200

Pre signed URL

application/json

Pre signed URL

put/api/v1/files/presign
200

Pre signed URL

Fetch File

get

If using local driver for file system. Fetch the file.

Authorizations
sessionstringRequired
Path parameters
keystringRequired

File path

Responses
200

File is present.

string · binaryOptional

File is present.

get/files/{key}

Upload Files

put

If using local driver for file system. Accept file uploads.

Authorizations
sessionstringRequired
Path parameters
*stringRequired
Body
string · binaryOptional
Responses
204

File has been uploaded successfully.

application/json
anyOptional

File has been uploaded successfully.

put/files{*}
204

File has been uploaded successfully.

No content

Notifications

Mark as Archive

post

Mark notifications as archived.

Authorizations
sessionstringRequired
Body
itemsstring[]Optional
Responses
204

Notification archived successfully.

application/json
anyOptional

Notification archived successfully.

post/api/v1/notifications/archive
204

Notification archived successfully.

No content

Deregister Token

delete

Deregister the push token related to the user.

Authorizations
sessionstringRequired
Body
endpointstringOptional
Responses
204

Token deregistered successfully.

application/json
anyOptional

Token deregistered successfully.

delete/api/v1/notifications/register
204

Token deregistered successfully.

No content

Register Token

post

Register the push token related to the user.

Authorizations
sessionstringRequired
Body
endpointstringOptional
authstringOptional
keystringOptional
Responses
204

Push token registered successfully.

application/json
anyOptional

Push token registered successfully.

post/api/v1/notifications/register
204

Push token registered successfully.

No content

Get Vapid Key

get

Get the vapid key used for web push registration.

Authorizations
sessionstringRequired
Responses
200

Default Response

application/json
vapid_keystringOptional
get/api/v1/notifications/register
200

Default Response

List Notifications

get

List all notifications available to the currently logged in user.

Authorizations
sessionstringRequired
Responses
200

Default Response

application/json
get/api/v1/notifications
200

Default Response

Mark as Read

post

Mark notifications as read.

Authorizations
sessionstringRequired
Body
itemsstring[]Optional
Responses
204

Notification marked as read successfully.

application/json
anyOptional

Notification marked as read successfully.

post/api/v1/notifications/read
204

Notification marked as read successfully.

No content

Changelog

  • 2024-12-20 - Initial Documentation

Last updated