Account API

A quick introduction to the Account API in Makerkit

You can use the Account API for retrieving information about the personal user account.

Usage

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';
export async function loader(args: LoaderFunctionArgs) {
const client = getSupabaseServerClient(args.request);
const api = createAccountsApi(client);
// use api
}

If you're in a Remix Action context, you'd use:

import { createAccountsApi } from '@kit/accounts/api';
import { getSupabaseServerClient } from '@kit/supabase/server-client';
export async function action(args: ActionFunctionArgs) {
const client = getSupabaseServerClient(args.request);
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);