The customer portal gives your end-users a self-service view into incidents that affect them. Customers can register, log in, open incident reports, and track the status of existing ones — all through a dedicated set of public API endpoints that sit outside your internal, token-protected infrastructure. This guide covers onboarding a customer company, registering a user, authenticating, and using the protected endpoints to manage incidents on behalf of that customer.Documentation Index
Fetch the complete documentation index at: https://docs.scrubbe.com/llms.txt
Use this file to discover all available pages before exploring further.
How the customer portal API works
The portal API has two layers:- Public endpoints — no authentication required. Used for company lookup, registration, and login.
- Protected endpoints — require the customer JWT returned at login. Used for creating and viewing incidents.
Look up available companies
Before registering, a customer selects which company (tenant) they belong to. Fetch the list of available companies to populate a sign-up form or onboarding flow.companyId for the registration step.
Register a customer
Create a new customer account under the appropriate company.This endpoint is unauthenticated. Apply rate limiting and CAPTCHA at your edge layer if you expose this directly to a public sign-up form.
Log in and obtain a token
Authenticate a registered customer. The response includes a JWT that must be sent asAuthorization: Bearer <token> on all subsequent protected requests.
Create an incident (customer)
An authenticated customer can open an incident report. This creates a ticket within their company’s scope and notifies your internal team.id that the customer can use to check status.
Retrieve a customer incident
Let customers track the status and updates on a specific incident they have reported.techDescription or responder notes.
List all incidents for a customer
Return all incidents the authenticated customer has reported. Useful for building a customer-facing status dashboard or support history view.Suggested integration pattern
Fetch companies on load
Call
GET /api/v1/customer/companies when the user opens your sign-up page and populate a company selector.Register the user
POST to
POST /api/v1/customer/register with the selected companyId and the user’s credentials.Authenticate and store the token
POST to
POST /api/v1/customer/login and store the returned JWT in your client’s secure storage (e.g., an httpOnly cookie).Build the incident dashboard
On load, call
GET /api/v1/customer/get-incidents to show the customer’s incident history. Poll or use webhooks to keep status current.Manage Incidents
Internal incident lifecycle — create, update, and resolve tickets from your team’s side.
AI Ezra
Trigger AI analysis on incidents created through the customer portal.