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/jsonarrow-up-right

circle-info

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

Default Response

application/json
get
/api/v1/plans
200

Default Response

Current CSRF

get

Get the CSRF of the current session.

Responses
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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
chevron-right
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