Overview
Give clients a clean, read-only view of their project’s validation results. The client portal shows scores, history, and reports without exposing account settings, team management, or other projects.
How It Works
1. Admin creates a project for the client
2. Admin invites client as a Viewer scoped to that project
3. Client logs in and sees only their project
4. Portal displays:
– Validation scores and history
– Schema change notifications
– Export options (if enabled)
5. Enterprise users can apply white-label branding
Tier Availability
| Tier | Available | White-Label |
|——|———–|————-|
| Agency | Yes | No |
| Enterprise | Yes | Yes |
Related Features
– Viewer Project Scoping: The mechanism that powers client access
– RBAC Roles: Client uses the Viewer role
– White-Label Client Portal: Branded version (Enterprise)
Mini-Tutorial
Step 1: Create a Client Project
Create a new project for the client (e.g., “Acme Corp”).
Step 2: Validate URLs
Add the client’s URLs to their project and validate them. Build up validation history.
Step 3: Invite Client as Viewer
Go to Team Members > Invite, enter the client’s email, select Viewer role, and scope them to their project only.
Step 4: Client Logs In
The client receives an invitation email and logs in. They see only their project data.
Step 5: Client Explores Portal
The portal shows:
– Validation scores and history
– Schema change notifications
– Error summaries
– Export options (if enabled)
Step 6: Share Reports
You can still generate and email reports to the client from your account, or they can download exports themselves.
Technical Details
Create Client Access
POST /api/v1/team/invite
{
"email": "[email protected]",
"role": "viewer",
"projects": ["proj_client_123"]
}
Client Portal Endpoint (Viewer Access)
GET /api/v1/whitelabel/client/proj_client_123
Viewer (when logged in) can access:
{
"project_id": "proj_client_123",
"project_name": "Acme Corp",
"current_score": 85,
"score_trend": 3,
"recent_validations": [
{
"url": "https://acme.com/",
"validated_at": "2025-03-22T10:00:00Z",
"status": "valid",
"score": 88
}
],
"schema_types": ["Product", "Organization", "Article"],
"common_errors": [
{
"error": "missing image",
"count": 12
}
],
"can_export": true,
"can_view_history": true,
"can_view_reports": true
}
Viewer Cannot Access
– Other projects
– Team member list
– Billing information
– Account settings
– API keys
– Webhook configuration
References
– Client Portal Design Best Practices
– Data Privacy & GDPR for Client Portals
– Client Portal Security
– ValidGraph Client Portal Documentation