Novel
Get NovelGuidesAPI Reference
Latest - 2025.1.0
Latest - 2025.1.0
  • Welcome to Novel
  • Start
  • Philosophy
  • Tech Stack
  • Releases
  • Versions
  • Changelog
  • License
  • Privacy
  • Warranty
  • Security Policy
  • Errors
    • Cannot start Novel
    • Unauthorized
    • Invalid Session
    • Validation Failed
  • Novel Server
    • Getting Started
    • Project Structure
    • With Novel Web
    • Configuration
    • Novel CLI
      • novel dev
      • novel start
      • novel new
    • Novel API
      • API Reference
    • Database
      • Caching
    • Migrations
    • Models
    • Routing
      • Route Directives
      • Middleware
      • Request Helpers
      • Schema
    • Sessions
    • Authentication
      • Passwords
      • Magic Links
      • Two-Factor Authentication
      • Forget Password
      • Email Verification
      • OAuth2 Support
    • Authorization
    • Users
    • Organizations
    • Subscriptions
    • Pricing
    • Validation
    • Mail
    • Notifications
    • API Keys
    • Events
    • Errors
    • Feature Flags
    • Uploading Files
    • Testing
    • Scheduled Cron Jobs
    • Background Jobs
    • Sockets
    • Logging
    • Telemetry
    • Deployment
  • Novel Web
    • Getting Started
    • Configuration
    • Project Structure
    • Routing
    • Layout and Styles
    • Authentication
    • Authorization
    • Requests
    • Request Files
    • Validation
    • Components
      • Button
      • Alerts
      • Copybox
      • Inline Notify
      • Input
      • Select
      • Toast
      • Toggle
      • Upload
      • Stripe Card
    • Hooks
      • useSession
      • useMobile
      • getSession
      • useFeature
      • useAuthorized
      • useNotification
      • useSocket
    • Localstorage
    • Errors
    • Internationalization (i18n)
    • Constants
    • Feature Flags
    • Testing
    • Telemetry
    • Deployment
    • Devtools (Alpha)
Powered by GitBook
On this page

Was this helpful?

  1. Novel Server
  2. Novel API

API Reference

Last updated 5 months ago

Was this helpful?

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

This document is up to date for Release 2025.1.0

Auth

Application

Accounts

Organizations

Subscription

API Keys

Files

Notifications

Changelog

  • 2024-12-20 - Initial Documentation

https://canary.novel.dev/docs/openapi/json

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
Responseany

Authentication successful. Redirecting to next step...

get
GET /auth/{strategy}/callback HTTP/1.1
Host: 
Accept: */*
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
Responseany

Authentication successful. Redirecting to next step...

get
GET /auth/passwordless/verify HTTP/1.1
Host: 
Accept: */*
301

Authentication successful. Redirecting to next step...

No content

Auth by Strategy

get

Authenticate by strategy available to the application.

Path parameters
strategystringRequired
Responses
200
Authentication successful. Redirecting to next step...
application/json
301
Authentication successful. Redirecting to next step...
application/json
get
GET /auth/{strategy} HTTP/1.1
Host: 
Accept: */*
{
  "redirect_to": "text"
}

List Subscription Plans

get

List the plans available to a user.

Responses
200
Default Response
application/json
get
GET /api/v1/plans HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "plans": [
    {
      "id": "text",
      "name": "text",
      "monthly": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      },
      "yearly": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      },
      "trial": 1
    }
  ]
}

Current CSRF

get

Get the CSRF of the current session.

Responses
200
Default Response
application/json
get
GET /api/v1/csrf HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "csrf": "text"
}

Session Context

get

Get the important details required when accessing an authenticated screen.

Authorizations
Responses
200
Default Response
application/json
get
GET /api/v1/session HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "session": {
    "live": true,
    "flags": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    },
    "organizations": [
      {
        "id": "text",
        "name": "text",
        "type": "text"
      }
    ],
    "organization": {
      "id": "text",
      "name": "text",
      "type": "text"
    },
    "subscribed": true,
    "subscription": {
      "name": "text",
      "status": "text",
      "subscription_id": "text"
    },
    "user": {
      "id": "text",
      "email": "name@gmail.com",
      "display_name": "text",
      "picture": "text"
    },
    "settings": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    },
    "role": "text",
    "permissions": [
      {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      }
    ],
    "version": "text",
    "fetched": "2025-06-13T20:07:52.381Z"
  }
}

End Session

get

End the current session.

Authorizations
Responses
301
Redirecting to the logout screen...
application/json
Responseany

Redirecting to the logout screen...

get
GET /session/end HTTP/1.1
Host: 
Accept: */*
301

Redirecting to the logout screen...

No content

Account Events

get

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

Authorizations
Responses
200
Default Response
application/json
get
GET /api/v1/account/events HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "events": [
    {
      "required": null,
      "subscription_id": "text",
      "metric": "text",
      "value": 1,
      "timestamp": "2025-06-13T20:07:52.381Z",
      "reported_at": "2025-06-13T20:07:52.381Z"
    }
  ]
}

Account Profile

get

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

Authorizations
Responses
200
Default Response
application/json
get
GET /api/v1/account HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "profile": {
    "id": "text",
    "email": "name@gmail.com",
    "display_name": "text",
    "picture": "https://example.com",
    "url": "https://example.com",
    "verified": true,
    "metadata": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  },
  "settings": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
}

Account Security

get

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

Authorizations
Responses
200
Default Response
application/json
get
GET /api/v1/account/security HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "profile": {
    "id": "text",
    "email": "name@gmail.com",
    "password": true,
    "verified": true,
    "metadata": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  },
  "mfa": null,
  "sessions": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ]
}

Account Sessions

get

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

Authorizations
Responses
200
Default Response
application/json
get
GET /api/v1/account/sessions HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "sessions": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ]
}

Account Settings

get

Settings related to the currently logged in user.

Authorizations
Responses
200
Default Response
application/json
get
GET /api/v1/account/settings HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "settings": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
}

Generate MFA Secret

get

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

Authorizations
Responses
200
Default Response
application/json
get
GET /api/v1/account/mfa HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "mfa": {
    "qr": "text",
    "secret": "text",
    "remaining": 1,
    "expires_at": "2025-06-13T20:07:52.381Z"
  }
}

Organization Detail

get

Details of the organization.

Authorizations
Responses
200
Default Response
application/json
get
GET /api/v1/organization HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "organization": {
    "id": "text",
    "name": "text",
    "type": "text",
    "email": "name@gmail.com",
    "quotas": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    },
    "settings": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  }
}

Organization Events

get

Events that have happened within the organization.

Authorizations
Responses
200
Default Response
application/json
get
GET /api/v1/organization/events HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "events": [
    {
      "request_id": "text",
      "event_id": "text",
      "timestamp": "text",
      "action": "text",
      "message": "text",
      "context": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      }
    }
  ]
}

List of Organizations

get

List of organizations belonging to the currently logged in user.

Authorizations
Responses
200
Default Response
application/json
get
GET /api/v1/organizations HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "organizations": [
    {
      "id": "text",
      "name": "text",
      "type": "text",
      "email": "name@gmail.com"
    }
  ]
}

List Members of Organization

get

List the members of the current organization in the session.

Authorizations
Responses
200
Default Response
application/json
get
GET /api/v1/organization/members HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "members": [
    {
      "id": "text",
      "role": "text",
      "email": "name@gmail.com",
      "display_name": "text",
      "picture": "text",
      "metadata": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      },
      "status": "text",
      "mfa": true
    }
  ]
}

Organization Settings

get

Settings of the organization.

Authorizations
Responses
200
Default Response
application/json
get
GET /api/v1/organization/settings HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "ANY_ADDITIONAL_PROPERTY": "anything"
}

Current Subscription

get

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

Authorizations
Responses
200
Default Response
application/json
get
GET /api/v1/subscription HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "subscribed": true,
  "organization": {
    "id": "text",
    "name": "text",
    "type": "text",
    "email": "name@gmail.com"
  },
  "subscription": null,
  "quotas": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  },
  "payment_methods": [
    {
      "id": "text",
      "type": "text",
      "card": {
        "brand": "text",
        "last4": "text",
        "expiry_month": "text",
        "expiry_year": "text"
      }
    }
  ],
  "charges": [
    {
      "number": "text",
      "invoice": "text",
      "invoice_pdf": "text",
      "status": "text",
      "amount": "text",
      "currency": "text",
      "payment_method": "text",
      "email": "name@gmail.com",
      "paid_at": "2025-06-13T20:07:52.381Z"
    }
  ]
}

Cancel Subscription

post

Cancel the subscription currently applied to the organization.

Authorizations
Responses
204
Subscription cancelled successfully.
application/json
Responseany

Subscription cancelled successfully.

post
POST /api/v1/subscription/cancel HTTP/1.1
Host: 
Accept: */*
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
Responses
200
Default Response
application/json
get
GET /api/v1/subscription/cards HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "payment_methods": [
    {
      "id": "text",
      "type": "text",
      "card": {
        "brand": "text",
        "last4": "text",
        "expiry_month": "text",
        "expiry_year": "text"
      }
    }
  ]
}

Key List

get

List the keys available to the currently logged in session.

Authorizations
Responses
200
Default Response
application/json
get
GET /api/v1/api-keys HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "keys": [
    {
      "access_id": "text",
      "secret_key": "text",
      "label": "text",
      "scope": "text",
      "expiry": "text",
      "expired": true,
      "created_at": "text",
      "expires_at": "text",
      "last_used": "text"
    }
  ]
}

Key Events

get

List the events related to a key.

Authorizations
Responses
200
Default Response
application/json
get
GET /api/v1/api-keys/events HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "events": [
    {
      "request_id": "text",
      "access_id": "text",
      "timestamp": "text",
      "method": "text",
      "url": "text",
      "status": "text",
      "ip": "text",
      "origin": "text"
    }
  ]
}

Fetch File

get

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

Authorizations
Path parameters
keystringRequired

File path

Responses
200
File is present.
Responsestring ยท binary

File is present.

404
File does not exist.
get
GET /files/{key} HTTP/1.1
Host: 
Accept: */*
binary

Get Vapid Key

get

Get the vapid key used for web push registration.

Authorizations
Responses
200
Default Response
application/json
get
GET /api/v1/notifications/register HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "vapid_key": "text"
}

List Notifications

get

List all notifications available to the currently logged in user.

Authorizations
Responses
200
Default Response
application/json
get
GET /api/v1/notifications HTTP/1.1
Host: 
Accept: */*
200

Default Response

{
  "notifications": [
    {
      "id": "text",
      "author_id": "text",
      "received_at": "text",
      "read": true,
      "title": "text",
      "body": "text",
      "icon": "text",
      "level": "text",
      "metadata": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      }
    }
  ],
  "invites": [
    {
      "invitation_code": "text",
      "organization": {
        "id": "text",
        "name": "text"
      },
      "created_at": "text",
      "expires_at": "text",
      "expired": true
    }
  ]
}
  • Auth
  • GETAuth Callback
  • POSTStart Reset Password
  • POSTFinal MFA Step
  • GETAuth Passwordless
  • POSTGenerate Payment Intent
  • POSTReset Password
  • POSTSign Up
  • POSTAuth by Strategy
  • GETAuth by Strategy
  • Application
  • GETList Subscription Plans
  • GETCurrent CSRF
  • GETSession Context
  • GETEnd Session
  • POSTSwitch Organization
  • Accounts
  • GETAccount Events
  • GETAccount Profile
  • PATCHUpdate Account Profile
  • GETAccount Security
  • GETAccount Sessions
  • DELETERevoke Account Session
  • GETAccount Settings
  • PATCHUpdate Account Settings
  • POSTUpdate Account Password
  • POSTDeactivate Account
  • GETGenerate MFA Secret
  • PUTRegister MFA Secret
  • DELETERevoke MFA secret
  • Organizations
  • GETOrganization Detail
  • DELETEDeactivate Organization
  • POSTCreate Organization
  • PATCHUpdate Organization
  • GETOrganization Events
  • POSTInvite to Organization
  • DELETERevoke Organization Invitation
  • POSTAccept Organization Invitation
  • DELETEReject Organization Invitation
  • GETList of Organizations
  • GETList Members of Organization
  • DELETERemove Organization Member
  • POSTPromote Organization Member
  • GETOrganization Settings
  • Subscription
  • GETCurrent Subscription
  • POSTCancel Subscription
  • GETCurrent Payment Methods
  • POSTAdd Payment Method
  • DELETERemove Payment Method
  • POSTSubscribe to Subscription
  • API Keys
  • DELETERevoke API Key
  • GETKey List
  • POSTGenerate Key
  • GETKey Events
  • Files
  • PUTPresign Files
  • GETFetch File
  • PUTUpload Files
  • Notifications
  • POSTMark as Archive
  • DELETEDeregister Token
  • POSTRegister Token
  • GETGet Vapid Key
  • GETList Notifications
  • POSTMark as Read
  • Changelog

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
POST /auth/forgot HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 26

{
  "email": "name@gmail.com"
}
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
Responseany

Authentication successful. Redirecting to next step...

post
POST /auth/{strategy}/mfa HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 14

{
  "otp": "text"
}
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
POST /signup/intent HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 31

{
  "plan": "text",
  "org_id": "text"
}
200

Payment intent creation successful.

{
  "intent": {
    "client_secret": "text"
  }
}

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
post
POST /auth/reset HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 59

{
  "email": "name@gmail.com",
  "password": "text",
  "token": "text"
}
201

Reset successful. Redirecting to next step...

{
  "redirect_to": "text"
}

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
POST /signup HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 134

{
  "email": "name@gmail.com",
  "password": "text",
  "intent": "text",
  "interval": "month",
  "plan": "text",
  "method": "text",
  "invitation_code": "text"
}
200

Sign up successful. Redirecting to next step...

{
  "redirect_to": "text"
}

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
301
Authentication successful. Redirecting to next step...
application/json
post
POST /auth/{strategy} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 44

{
  "email": "name@gmail.com",
  "password": "text"
}
{
  "redirect_to": "text"
}

Switch Organization

post

Switch organization of the current session.

Authorizations
Body
org_idstringOptional
Responses
204
Switched organization successfully.
application/json
Responseany

Switched organization successfully.

post
POST /api/v1/session/switch HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 17

{
  "org_id": "text"
}
204

Switched organization successfully.

No content

Update Account Profile

patch

Update the currently logged in account's profile.

Authorizations
Body
display_namestring ยท min: 6Optional
picturestring ยท uriOptional
urlstring ยท uriOptional
Responses
204
User profile updated successfully.
application/json
Responseany

User profile updated successfully.

patch
PATCH /api/v1/account HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 83

{
  "display_name": "text",
  "picture": "https://example.com",
  "url": "https://example.com"
}
204

User profile updated successfully.

No content

Revoke Account Session

delete

Revoke a session related to the currently logged in user.

Authorizations
Body
session_idstringOptional
Responses
204
Session revoked successfully.
application/json
Responseany

Session revoked successfully.

delete
DELETE /api/v1/account/sessions HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 21

{
  "session_id": "text"
}
204

Session revoked successfully.

No content

Update Account Settings

patch

Update the currently logged in account's settings.

Authorizations
Body
themestringOptional
timezonestringOptional
languagestringOptional
marketingbooleanOptional
newsletterbooleanOptional
Responses
204
User configuration updated successfully.
application/json
Responseany

User configuration updated successfully.

patch
PATCH /api/v1/account/settings HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 87

{
  "theme": "text",
  "timezone": "text",
  "language": "text",
  "marketing": true,
  "newsletter": true
}
204

User configuration updated successfully.

No content

Update Account Password

post

Update the currently logged in account's password.

Authorizations
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
POST /api/v1/account/password HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 41

{
  "password": "text",
  "new_password": "text"
}
204

User password updated successfully.

No content

Deactivate Account

post

Deactivate an active account.

Authorizations
Body
sudo_passwordstringRequired
Responses
204
Account has been deactivated.
application/json
Responseany

Account has been deactivated.

post
POST /api/v1/account/deactivate HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 24

{
  "sudo_password": "text"
}
204

Account has been deactivated.

No content

Register MFA Secret

put

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

Authorizations
Body
tokenstringRequired
secretstringRequired
Responses
204
MFA secret registered successfully.
application/json
Responseany

MFA secret registered successfully.

put
PUT /api/v1/account/mfa HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 32

{
  "token": "text",
  "secret": "text"
}
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
Body
sudo_passwordstringRequired
Responses
204
MFA secret revoked successfully.
application/json
Responseany

MFA secret revoked successfully.

delete
DELETE /api/v1/account/mfa HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 24

{
  "sudo_password": "text"
}
204

MFA secret revoked successfully.

No content

Deactivate Organization

delete

Deactivate an organization tied to the currently logged in session.

Authorizations
Body
sudo_passwordstringRequired
org_idstring ยท min: 6Required
Responses
204
Organization has been deactivated.
application/json
Responseany

Organization has been deactivated.

delete
DELETE /api/v1/organization HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 40

{
  "sudo_password": "text",
  "org_id": "text"
}
204

Organization has been deactivated.

No content

Create Organization

post

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

Authorizations
Body
namestring ยท min: 6Required
emailstring ยท emailRequired
personalbooleanOptional
Responses
200
Organization has been created.
application/json
post
POST /api/v1/organization HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 56

{
  "name": "text",
  "email": "name@gmail.com",
  "personal": true
}
200

Organization has been created.

{
  "id": "text"
}

Update Organization

patch

Update the detail of the current organization.

Authorizations
Body
namestring ยท min: 3Optional
emailstring ยท emailOptional
Responses
204
Updated organization successfully.
application/json
Responseany

Updated organization successfully.

patch
PATCH /api/v1/organization HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 40

{
  "name": "text",
  "email": "name@gmail.com"
}
204

Updated organization successfully.

No content

Invite to Organization

post

Invite a particular user/email to the organization.

Authorizations
Body
Responses
204
Invite sent successfully.
application/json
Responseany

Invite sent successfully.

post
POST /api/v1/organization/invite HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 57

{
  "invites": [
    {
      "email": "name@gmail.com",
      "roles": [
        "text"
      ]
    }
  ]
}
204

Invite sent successfully.

No content

Revoke Organization Invitation

delete

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

Authorizations
Body
Responses
204
Invitations revoked successfully.
application/json
Responseany

Invitations revoked successfully.

delete
DELETE /api/v1/organization/invite HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 40

{
  "invites": [
    {
      "email": "name@gmail.com"
    }
  ]
}
204

Invitations revoked successfully.

No content

Accept Organization Invitation

post

Accept an invitation coming from an organization.

Authorizations
Body
invitation_codestringOptional
Responses
204
Invite accepted successfully.
application/json
Responseany

Invite accepted successfully.

post
POST /api/v1/organization/invite/accept HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 26

{
  "invitation_code": "text"
}
204

Invite accepted successfully.

No content

Reject Organization Invitation

delete

Reject an invitation coming from an organization.

Authorizations
Body
invitation_codestringOptional
Responses
204
Invite rejected successfully.
application/json
Responseany

Invite rejected successfully.

delete
DELETE /api/v1/organization/invite/reject HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 26

{
  "invitation_code": "text"
}
204

Invite rejected successfully.

No content

Remove Organization Member

delete

Remove a member of an organization.

Authorizations
Body
account_idstringOptional
Responses
204
Member removed successfully.
application/json
Responseany

Member removed successfully.

delete
DELETE /api/v1/organization/members HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 21

{
  "account_id": "text"
}
204

Member removed successfully.

No content

Promote Organization Member

post

Promote a member of an organization.

Authorizations
Body
account_idstringOptional
rolesstring[]Optional
Responses
204
Member promoted successfully.
application/json
Responseany

Member promoted successfully.

post
POST /api/v1/organization/promote HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 38

{
  "account_id": "text",
  "roles": [
    "text"
  ]
}
204

Member promoted successfully.

No content

Add Payment Method

post

Add the payment method related to a user.

Authorizations
Body
payment_methodstringRequired
setup_intentstringRequired
Responses
204
Payment method added successfully.
application/json
Responseany

Payment method added successfully.

post
POST /api/v1/subscription/methods HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 47

{
  "payment_method": "text",
  "setup_intent": "text"
}
204

Payment method added successfully.

No content

Remove Payment Method

delete

Remove the payment method related to a user.

Authorizations
Body
payment_method_idstringRequired
Responses
204
Payment method removed successfully.
application/json
Responseany

Payment method removed successfully.

delete
DELETE /api/v1/subscription/methods HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 28

{
  "payment_method_id": "text"
}
204

Payment method removed successfully.

No content

Subscribe to Subscription

post

Subscribe to an available plan.

Authorizations
Body
planstringOptional
intentstringOptional
methodstringOptional
intervalstringOptional
Responses
204
Subscription created successfully.
application/json
Responseany

Subscription created successfully.

post
POST /api/v1/subscription/upgrade HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 65

{
  "plan": "text",
  "intent": "text",
  "method": "text",
  "interval": "text"
}
204

Subscription created successfully.

No content

Revoke API Key

delete

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

Authorizations
Body
access_idstringOptional
Responses
204
API key revoked successfully.
application/json
Responseany

API key revoked successfully.

delete
DELETE /api/v1/api-keys HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 20

{
  "access_id": "text"
}
204

API key revoked successfully.

No content

Generate Key

post

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

Authorizations
Body
labelstringOptional
expirystringOptional
Responses
200
Key generated successfully.
application/json
post
POST /api/v1/api-keys HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 79

{
  "label": "text",
  "scope": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  },
  "expiry": "text"
}
200

Key generated successfully.

{
  "key": {
    "access_id": "text",
    "secret_key": "text",
    "label": "text",
    "scope": "text",
    "expiry": "text",
    "expired": true,
    "created_at": "text",
    "expires_at": "text",
    "last_used": "text"
  }
}

Presign Files

put

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

Authorizations
Body
keystringRequired
typestringRequired
Responses
200
Pre signed URL
application/json
put
PUT /api/v1/files/presign HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 28

{
  "key": "text",
  "type": "text"
}
200

Pre signed URL

{
  "file": {
    "presigned_url": "text",
    "public": true,
    "type": "text",
    "original": "text",
    "key": "text",
    "asset_url": "text"
  }
}

Upload Files

put

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

Authorizations
Path parameters
*stringRequired
Body
string ยท binaryOptional
Responses
204
File has been uploaded successfully.
application/json
Responseany

File has been uploaded successfully.

put
PUT /files{*} HTTP/1.1
Host: 
Content-Type: multipart/form-data
Accept: */*
Content-Length: 8

"binary"
204

File has been uploaded successfully.

No content

Mark as Archive

post

Mark notifications as archived.

Authorizations
Body
itemsstring[]Optional
Responses
204
Notification archived successfully.
application/json
Responseany

Notification archived successfully.

post
POST /api/v1/notifications/archive HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 18

{
  "items": [
    "text"
  ]
}
204

Notification archived successfully.

No content

Deregister Token

delete

Deregister the push token related to the user.

Authorizations
Body
endpointstringOptional
Responses
204
Token deregistered successfully.
application/json
Responseany

Token deregistered successfully.

delete
DELETE /api/v1/notifications/register HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 19

{
  "endpoint": "text"
}
204

Token deregistered successfully.

No content

Register Token

post

Register the push token related to the user.

Authorizations
Body
endpointstringOptional
authstringOptional
keystringOptional
Responses
204
Push token registered successfully.
application/json
Responseany

Push token registered successfully.

post
POST /api/v1/notifications/register HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 46

{
  "endpoint": "text",
  "auth": "text",
  "key": "text"
}
204

Push token registered successfully.

No content

Mark as Read

post

Mark notifications as read.

Authorizations
Body
itemsstring[]Optional
Responses
204
Notification marked as read successfully.
application/json
Responseany

Notification marked as read successfully.

post
POST /api/v1/notifications/read HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 18

{
  "items": [
    "text"
  ]
}
204

Notification marked as read successfully.

No content