Last updated: March 22, 2026

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 |

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