Account API | Next.js Supabase SaaS Kit
A quick introduction to the Account API in Makerkit
You can use the Account API for retrieving information about the personal user account.
Using the Account API
To use the Account API, you need to import the createAccountsApi
function from @kit/account/api
. We need to pass a valid SupabaseClient
to the function - so we can interact with the database from the server.
import { createAccountsApi } from '@kit/accounts/api';import { getSupabaseServerClient } from '@kit/supabase/server-client';async function ServerComponent() { const client = getSupabaseServerClient(); const api = createAccountsApi(client); // use api}
If you're in a Server Action context, you'd use:
'use server';import { createAccountsApi } from '@kit/accounts/api';import { getSupabaseServerClient } from '@kit/supabase/server-client';export async function myServerAction() { const client = getSupabaseServerClient(); const api = createAccountsApi(client); // use api}
Methods
The Account API provides the following methods:
Get the account workspace data
Get the account workspace data using the getAccountWorkspace
method. This method returns the workspace data for the user account.
const api = createAccountsApi(client);const workspace = await api.getAccountWorkspace();
This is already called in the user account layout, so it's very unlikely you'll need to call this method.
Load the user accounts
Load the user accounts using the loadUserAccounts
method.
This method returns an array of user accounts. Each account has a label
, value
, and image
property.
const api = createAccountsApi(client);const accounts = await api.loadUserAccounts();
Get the subscription data
Get the subscription data for the given user using the getSubscription
method.
This method returns the subscription data for the given user account.
const api = createAccountsApi(client);const subscription = await api.getSubscription(accountId);
Returns the table subscriptions
and subscription_items
.
Get the billing customer ID
Get the billing customer ID for the given user using the getCustomerId
method.
This method returns the billing customer ID for the given user account.
const api = createAccountsApi(client);const customerId = await api.getCustomerId(accountId);