Quickstart
Get your API key and make your first risk evaluation in under 5 minutes.
1. Get an API Key
Sign up at dashboard.nope.net to get your API key.
Keys are prefixed with nope_live_ for production or nope_test_ for testing.
2. Make Your First Request
Call the /v1/evaluate endpoint with a conversation to analyze:
curl -X POST https://api.nope.net/v1/evaluate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role": "user", "content": "I feel really hopeless lately"}
],
"config": {
"country": "US"
}
}'3. Understand the Response
The API returns a structured assessment with risks (subject × type), chain-of-thought rationale, and matched crisis resources:
{
"risks": [
{
"type": "suicide",
"subject": "self",
"severity": "moderate",
"imminence": "chronic",
"features": ["hopelessness", "passive_ideation"]
}
],
"rationale": "User expressing hopelessness with passive ideation patterns.",
"speaker_severity": "moderate",
"speaker_imminence": "chronic",
"show_resources": true,
"resources": {
"primary": {
"name": "988 Suicide and Crisis Lifeline",
"phone": "988",
"is_24_7": true,
"why": "Primary national crisis line for suicidal ideation."
},
"secondary": []
},
"request_id": "req_abc123",
"timestamp": "2025-01-15T10:30:00Z"
} Key Response Fields
| Field | Description |
|---|---|
speaker_severity | How serious (self-risks only): none → critical |
speaker_imminence | How soon: not_applicable → emergency |
risks[] | Identified risks with subject (who), type (what), severity, imminence, features |
rationale | Chain-of-thought reasoning explaining the assessment |
show_resources | Whether crisis resources should be displayed |
resources | Matched helplines with primary and secondary[], each with a why explanation |
Using SDKs
Python
pip install nope-net from nope_net import NopeClient
client = NopeClient(api_key="nope_live_...")
result = client.evaluate(
messages=[{"role": "user", "content": "I feel hopeless"}],
config={"country": "US"}
)
print(result.speaker_severity) # v1 top-level field
if result.show_resources and result.resources:
print(result.resources["primary"]["name"]) Node.js / TypeScript
npm install @nope-net/sdk import { NopeClient } from '@nope-net/sdk';
const client = new NopeClient({ apiKey: 'nope_live_...' });
const result = await client.evaluate({
messages: [{ role: 'user', content: 'I feel hopeless' }],
config: { country: 'US' }
});
console.log(result.speaker_severity); // v1 top-level field
if (result.show_resources && result.resources) {
console.log(result.resources.primary?.name);
} What's Next?
- Integration Patterns — choose the right approach for your app
- Evaluation API Guide — full request/response options (SB243 compliant)
- Signpost — rendering matched helplines
- Taxonomy — risk types, subjects, and features
- API Reference — complete endpoint documentation