/api/v1/screen
This endpoint allows you to analyze legal client intake data to determine if a lead is worthwhile for your platform.
Introduction
This endpoint evaluates potential client information and returns a quality score based on your configured practice areas and filters. This helps you quickly identify promising leads without manual review.
Key features:
- Automated quality scoring from 0-100
- Practice area validation
- Custom filtering rules
- Configurable quality thresholds
Authentication
All API requests require authentication using a Bearer token in the Authorization header:
Authorization: Bearer YOUR_API_KEYQuickstart
Here’s how to quickly start using this endpoint:
- Ensure you have an active PRO subscription
- Configure your practice areas and filters in the Verdict dashboard
- Set your quality threshold in the settings
- Make a POST request to the endpoint with your client intake data
i/v1/screen
Analyzes a single client intake record and returns a quality score and analysis.
Request
POST https://www.caseverdict.com/api/v1/screen
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
 
{
  "record": {
    "firstName": "John",
    "lastName": "Doe",
    "phone": "555-123-4567",
    "email": "john.doe@example.com",
    "location": "New York City",
    "zip": "10001",
    "county": "New York",
    "state": "NY",
    "practiceArea": "Personal Injury",
    "intakeNotes": "Client suffered a slip and fall injury at a grocery store. Possible broken wrist and hip injury."
  }
}Request Parameters
| Parameter | Type | Required | Description | 
|---|---|---|---|
| firstName | string | Yes | Client’s first name | 
| lastName | string | Yes | Client’s last name | 
| phone | string | Yes | Client’s phone number | 
| string | Yes | Client’s email address | |
| location | string | Yes | Client’s city/location | 
| zip | string | Yes | Client’s ZIP code | 
| county | string | Yes | Client’s county | 
| state | string | Yes | Client’s state | 
| practiceArea | string | Yes | Practice area for the case | 
| intakeNotes | string | Yes | Notes from the client intake | 
Response
{
  "success": true,
  "results": {
    "valid": [
      {
        "firstName": "John",
        "lastName": "Doe",
        "phone": "555-123-4567",
        "email": "john.doe@example.com",
        "location": "New York City",
        "zip": "10001",
        "county": "New York",
        "state": "NY",
        "practiceArea": "Personal Injury",
        "intakeNotes": "Client suffered a slip and fall injury at a grocery store. Possible broken wrist and hip injury.",
        "analysis": {
          "thresholdScore": 85,
          "analysisNotes": "Strong personal injury case with clear liability and documented injuries."
        }
      }
    ],
    "invalid": []
  },
  "timestamp": "2023-04-05T12:34:56.789Z"
}Response Fields
| Field | Type | Description | 
|---|---|---|
| success | boolean | Indicates if the API request was successful | 
| results.valid | array | Records that scored above your threshold | 
| results.invalid | array | Records that scored below your threshold | 
| timestamp | string | ISO timestamp of when the analysis was performed | 
Each record contains all of the original input data plus an analysis object with:
- thresholdScore: A number from 0-100 indicating quality (higher is better)
- analysisNotes: Optional short notes explaining the score
Error Responses
400 Bad Request
{
  "error": "Record must match the InputRecord type",
  "details": [/* Validation error details */]
}401 Unauthorized
{
  "error": "Invalid or missing API key"
}{
  "error": "User does not have an active subscription"
}{
  "error": "User's plan does not have access to the API"
}500 Internal Server Error
{
  "error": "Failed to analyze record"
}How It Works
- The API validates your subscription status and API key
- It checks that the record contains all required fields
- It retrieves your configured practice areas, threshold, and filters
- It uses AI to analyze the record and assign a quality score based on:
- Match with your configured practice areas (invalid practice areas receive a score of 0)
- Relevance to your practice based on intake notes
- Alignment with your custom filters
 
- Records with scores above your threshold are marked as valid leads
- Records with scores below your threshold are marked as invalid
Best Practices
- Provide detailed intake notes for the most accurate scoring
- Configure your practice areas in the dashboard settings
- Set appropriate threshold levels based on your capacity
- Use custom filters to enforce additional screening criteria
Last updated on