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
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
Responseany

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
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
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
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
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
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
post
/auth/{strategy}

Auth by Strategy

get

Authenticate by strategy available to the application.

Path parameters
strategystringRequired
Responses
get
/auth/{strategy}

Application

List Subscription Plans

get

List the plans available to a user.

Responses
get
/api/v1/plans
200

Default Response

Current CSRF

get

Get the CSRF of the current session.

Responses
get
/api/v1/csrf
200

Default Response

Session Context

get

Get the important details required when accessing an authenticated screen.

Authorizations
sessionstringRequired
Responses
get
/api/v1/session
200

Default Response

End Session

get

End the current session.

Authorizations
sessionstringRequired
Responses
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
Responseany

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
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
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
Responseany

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
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
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
Responseany

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
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
Responseany

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
Responseany

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
Responseany

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
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
Responseany

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
Responseany

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
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
Responseany

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
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
Responseany

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
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
Responseany

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
Responseany

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
Responseany

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
Responseany

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
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
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
Responseany

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
Responseany

Member promoted successfully.

post
/api/v1/organization/promote
204

Member promoted successfully.

No content

Organization Settings

get

Settings of the organization.

Authorizations
sessionstringRequired
Responses
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
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
Responseany

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
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
Responseany

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
Responseany

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
Responseany

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
Responseany

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
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
post
/api/v1/api-keys
200

Key generated successfully.

Key Events

get

List the events related to a key.

Authorizations
sessionstringRequired
Responses
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
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
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
Responseany

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
Responseany

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
Responseany

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
Responseany

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
get
/api/v1/notifications/register
200

Default Response

List Notifications

get

List all notifications available to the currently logged in user.

Authorizations
sessionstringRequired
Responses
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
Responseany

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

Was this helpful?