/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_KEY
Quickstart
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