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

Payment intent creation successful.

application/json
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
200

Sign up successful. Redirecting to next step...

application/json
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
get
/api/v1/subscription
200

Default Response

Cancel Subscription

post

Cancel the subscription currently applied to the organization.

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

Responsestring · binary

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
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
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
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
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
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
post
/api/v1/notifications/read
204

Notification marked as read successfully.

No content

Changelog

  • 2024-12-20 - Initial Documentation

Last updated

Was this helpful?