Skip to main content
The Customer Portal is a hosted self-service page for one customer: their current subscription and next charge, their invoice history with PDF downloads, and their billing details and payment methods. You do not build or host it — you create a short-lived session with the API (or send a link from the dashboard) and redirect the customer to the URL it returns. Use it behind a “Manage billing” button in your product, in billing emails, or as the payment page for an invoice. Sections and permissions are configured per organization and can be overridden per session. The objects it displays — customers, subscriptions, invoices, payments — are described in How Alguna works.

Portal sections


Opening the portal

Via the API

Create a session with POST /customer-portal-sessions and redirect the customer to the url in the response. Identify the customer by Alguna ID or by one of the aliases you set on the customer, so you never need to store Alguna IDs. Omit a settings object, or any field inside one, to use your organization’s default.
Response
Sessions expire 1 hour after creation (expires_at) and are single-use per token, so create one at the moment the customer clicks through rather than storing the link. Reference: Create a customer portal session.

Via the dashboard

  1. Open Customers and select the customer
  2. Click Send Portal Link
  3. The customer receives an email with a link that expires like an API-minted session
The same email can be sent by an automation — for example after an invoice is issued, or when a card is about to expire.

Configuring sections

Organization defaults live under Settings → Organization → Customer portal. A session can override any of them for one customer.

Plan overview settings

Invoice list settings

Billing details settings

Common combinations:

Branding and domain

The portal uses the logo, colors and brand slug set under Settings → Organization → Customizations → Branding — see Branding. By default it is served from an Alguna-hosted URL, returned as url on the session; to serve it from your own domain, see Custom domains.

Security

  • Short-lived — every session carries expires_at (1 hour); after that the customer needs a new one
  • Single-use — a token is bound to one session
  • Customer-scoped — a session shows one customer’s data only
  • Passwordless — possession of the link is the credential, so mint it on demand and never log or email it in bulk

Reacting to what customers do

Actions taken in the portal raise the same webhooks as any other change:

Next steps

Customer portal integration guide

The “Manage billing” button, end to end.

Hosted checkout

Take the first payment before there is a subscription to manage.

Custom domains

Serve hosted pages from your own domain.

Collections

Dunning flows that send customers to the portal to pay.