Skip to main content
Docs

Key Clerk objects

The Clerk JavaScript SDK, or ClerkJS, is our foundational JavaScript library for building user management and authentication. It enables you to register, sign in, verify, and manage users for your application using highly customizable flows. It powers the other JavaScript SDKs, such as the React and Next.js SDKs. The following sections will introduce you to the main objects that power the JavaScript SDK.

Clerk

The Clerk class is the main entry point for the Clerk JavaScript SDK. All other objects are accessible from the Clerk object.

Client

A client represents the current device or software accessing an application such as your web browser, native application, or Chrome Extension. It is represented by the Client object.

Session

A session is a secure representation of the authentication state of the current user. Each client can hold multiple sessions on the same device. It is represented by the Session object.

User

The User object represents the current user of the session. It holds all the basic user information such as the user's name, email addresses, and phone numbers, and including their public, private, and unsafe metadata.

SignIn

The SignIn object holds the state of the current sign-in and provides helper methods to navigate and complete the sign-in process. It is used to manage the sign-in lifecycle, including the and verification, and the creation of a new session.

SignInFuture

The SignInFuture object is the Core 3 version of the SignIn object. It serves the same purpose, but with a different API.

SignUp

The SignUp object holds the state of the current sign-up and provides helper methods to navigate and complete the sign-up process. Once a sign-up is complete, a new user is created.

SignUpFuture

The SignUpFuture object is the Core 3 version of the SignUp object. It serves the same purpose, but with a different API.

Organization

Organizations are a flexible and scalable way to manage users and their access to resources within your Clerk application. With Organizations, you can assign specific Roles and Permissions to users, making them useful for managing projects, coordinating teams, or facilitating partnerships. Users can belong to many Organizations. One of them will be the of the session. It is represented by the Organization object. To learn about Organizations, see the dedicated guide.

APIKeys

The APIKeys object provides methods for managing API keys that allow your application's users to grant third-party services programmatic access to your application's API endpoints on their behalf. API keys are long-lived, that can be instantly revoked.

Billing

The Billing object provides methods for managing billing for a user or organization. It allows you to retrieve billing plans, payment attempts, and manage Subscriptions.

Feedback

What did you think of this content?

Last updated on