Endpoint
POST /search/v1/research
curl -X POST https://api.case.dev/search/v1/research \
-H "Authorization: Bearer sk_case_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"instructions": "Research HIPAA enforcement actions in 2024",
"model": "pro"
}'
casedev search:v1 research \
--instructions "Research topic..." \
--model pro
import Casedev from 'casedev';
const client = new Casedev({ apiKey: 'sk_case_YOUR_API_KEY' });
// Start research
const research = await client.search.v1.research({
instructions: 'Research HIPAA enforcement actions in 2024, focusing on healthcare data breaches and penalties.',
model: 'pro'
});
console.log(research.researchId); // Poll this for results
import casedev
client = casedev.Casedev(api_key='sk_case_YOUR_API_KEY')
# Start research
research = client.search.v1.research(
instructions='Research HIPAA enforcement actions in 2024, focusing on healthcare data breaches and penalties.',
model='pro'
)
print(research.research_id) # Poll this for results
research, _ := client.Search.V1.Research(ctx, casedev.SearchV1ResearchParams{
Instructions: casedev.F("Research topic..."),
Model: casedev.F("pro"),
})
fmt.Println(research.ResearchID)
Response
{
"researchId": "res_abc123xyz",
"status": "processing",
"model": "pro"
}
Get results
curl https://api.case.dev/search/v1/research/res_abc123xyz \
-H "Authorization: Bearer sk_case_YOUR_API_KEY"
casedev search:v1 retrieve-research --id $RESEARCH_ID
// Poll for results
let result = await client.search.v1.retrieveResearch(researchId);
while (result.status !== 'completed') {
await new Promise(r => setTimeout(r, 5000));
result = await client.search.v1.retrieveResearch(researchId);
}
console.log(result.report); // Full research report in Markdown
console.log(result.sources); // Sources used
import time
# Poll for results
result = client.search.v1.retrieve_research(research_id)
while result.status != 'completed':
time.sleep(5)
result = client.search.v1.retrieve_research(research_id)
print(result.report) # Full research report in Markdown
print(result.sources) # Sources used
result, _ := client.Search.V1.GetResearch(ctx, researchID, casedev.SearchV1GetResearchParams{})
fmt.Println(result.Status)
fmt.Println(result.Report)
Response
{
"researchId": "res_abc123xyz",
"status": "completed",
"report": "## HIPAA Enforcement in 2024\n\n### Overview\nThe Office for Civil Rights (OCR) has significantly increased enforcement...\n\n### Key Findings\n1. **Increased Penalties**: Average penalties rose 45%...\n\n### Notable Cases\n- **Healthcare Provider X**: $2.3M penalty for...",
"sources": [
{
"url": "https://hhs.gov/hipaa/enforcement-2024",
"title": "OCR Enforcement Actions 2024"
}
],
"metadata": {
"searchesPerformed": 12,
"sourcesAnalyzed": 47,
"processingTimeMs": 45000
}
}
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
instructions | string | Required | Research question/instructions |
model | string | normal | Research depth (see below) |
outputSchema | object | — | JSON schema for structured output |
Research models
| Model | Depth | Speed | Use case |
|---|---|---|---|
fast | Basic | ~30 sec | Quick fact-checking |
normal | Good | ~2 min | Standard research |
pro | Best | ~5 min | Complex legal research |
Examples
Legal research
casedev search:v1 research \
--instructions "Research recent developments in non-compete agreement enforceability across US states, focusing on 2024 legislation and court decisions." \
--model pro
const research = await client.search.v1.research({
instructions: 'Research recent developments in non-compete agreement enforceability across US states, focusing on 2024 legislation and court decisions.',
model: 'pro'
});
research = client.search.v1.research(
instructions='Research recent developments in non-compete agreement enforceability across US states, focusing on 2024 legislation and court decisions.',
model='pro'
)
research, _ := client.Search.V1.Research(ctx, casedev.SearchV1ResearchParams{
Instructions: casedev.F("Research recent developments in non-compete agreement enforceability across US states, focusing on 2024 legislation and court decisions."),
Model: casedev.F(casedev.SearchV1ResearchParamsModelPro),
})
Due diligence
casedev search:v1 research \
--instructions "Research Acme Corporation litigation history over the past 5 years, including settlements, verdicts, and ongoing cases." \
--model pro
const research = await client.search.v1.research({
instructions: 'Research Acme Corporation litigation history over the past 5 years, including settlements, verdicts, and ongoing cases.',
model: 'pro'
});
research = client.search.v1.research(
instructions='Research Acme Corporation litigation history over the past 5 years, including settlements, verdicts, and ongoing cases.',
model='pro'
)
research, _ := client.Search.V1.Research(ctx, casedev.SearchV1ResearchParams{
Instructions: casedev.F("Research Acme Corporation litigation history over the past 5 years, including settlements, verdicts, and ongoing cases."),
Model: casedev.F(casedev.SearchV1ResearchParamsModelPro),
})
Structured output
casedev search:v1 research \
--instructions "Research the top 5 law firms specializing in patent litigation" \
--model normal
const research = await client.search.v1.research({
instructions: 'Research the top 5 law firms specializing in patent litigation',
model: 'normal',
outputSchema: {
type: 'object',
properties: {
firms: {
type: 'array',
items: {
type: 'object',
properties: {
name: { type: 'string' },
headquarters: { type: 'string' },
notableCases: { type: 'array', items: { type: 'string' } }
}
}
}
}
}
});
research = client.search.v1.research(
instructions='Research the top 5 law firms specializing in patent litigation',
model='normal',
output_schema={
'type': 'object',
'properties': {
'firms': {
'type': 'array',
'items': {
'type': 'object',
'properties': {
'name': {'type': 'string'},
'headquarters': {'type': 'string'},
'notableCases': {'type': 'array', 'items': {'type': 'string'}}
}
}
}
}
}
)
research, _ := client.Search.V1.Research(ctx, casedev.SearchV1ResearchParams{
Instructions: casedev.F("Research the top 5 law firms specializing in patent litigation"),
Model: casedev.F(casedev.SearchV1ResearchParamsModelNormal),
})
Tip: Be specific in your instructions. “Research HIPAA enforcement in 2024” produces better results than “Tell me about HIPAA.”
Web data only. For comprehensive legal research, use Lexis, Westlaw, or OpenLaws.

