The Ready Mindset API
Embed the MQ Assessment, retrieve barrier profiles, manage the 90-Day Pathway, and integrate practitioner workflows into your healthcare, coaching, or HR platform.
Overview
The Ready Mindset API gives your platform access to the MQ Assessment diagnostic, barrier scoring, the 90-Day Pathway, and practitioner management. All responses are JSON. Authentication uses API keys passed in the request header.
All API requests should be made to
https://api.myreadymindset.com/v1
# Install dependencies npm install axios # Your first MQ Assessment session const axios = require('axios'); const response = await axios.post( 'https://api.myreadymindset.com/v1/assessment/sessions', { client_id: 'client_abc123', language: 'en' }, { headers: { 'Authorization': 'Bearer rm_live_your_api_key', 'Content-Type': 'application/json' } } ); console.log(response.data.session_id); // sess_xyz789
API Keys
All requests require an API key passed in the Authorization header as a Bearer token. Keys are prefixed with rm_live_ for production and rm_test_ for sandbox.
Authorization: Bearer rm_live_xxxxxxxxxxxxxxxxxxxx
# .env RM_API_KEY=rm_live_xxxxxxxxxxxxxxxxxxxx RM_API_BASE=https://api.myreadymindset.com/v1 # Usage headers: { 'Authorization': `Bearer ${process.env.RM_API_KEY}` }
Error Handling
The API uses standard HTTP status codes. All errors return a JSON object with a code, message, and optional detail field.
{
"error": {
"code": "invalid_api_key",
"message": "The API key provided is invalid or has been revoked.",
"status": 401
}
}
| Status | Code | Description |
|---|---|---|
| 200 | ok | Request succeeded |
| 201 | created | Resource created successfully |
| 400 | bad_request | Missing or invalid parameters |
| 401 | unauthorized | Invalid or missing API key |
| 403 | forbidden | Valid key but insufficient tier |
| 404 | not_found | Resource does not exist |
| 429 | rate_limited | Too many requests — see limits below |
| 500 | server_error | Something went wrong on our end |
X-RateLimit-Remaining and X-RateLimit-Reset.
The 56-Profile Combinatorial Taxonomy
The MQ Assessment does not just return eight barrier scores. It identifies which of 56 distinct psychological profiles the respondent belongs to — each with a name, a super-cluster classification, and a specific tool sequence. Understanding this system is essential to building meaningful experiences for your users.
// The assessment returns scores for all 8 barriers // The top 3 scores (sorted ascending by barrier index) form the profile key // Example: top barriers are Inner Narrative (0), Capacity Gap (6), Isolation Trap (7) // Key = "0,6,7" → profile: "The Lonely Overwhelmed Self-Doubter" { "barriers": { "inner_narrative": { "score": 22, "level": "high" }, "capacity_gap": { "score": 19, "level": "high" }, "isolation_trap": { "score": 17, "level": "high" }, // ... remaining 5 barriers }, "profile_name": "The Lonely Overwhelmed Self-Doubter", "super_cluster": "The Lonely Struggler", "primary_barrier": "inner_narrative" }
profile_name to personalise your user experience — show the user their profile name as part of their results. Use super_cluster to segment users into nine groups for targeted content, notifications, or interventions. The profile names and super-cluster names are proprietary to The Ready Mindset — do not expose the full taxonomy to end users.
const result = await getAssessmentResults(sessionId); // Show the user their profile const profileName = result.profile_name; // "The Perfectionist Paralyzed" const superCluster = result.super_cluster; // "The Perfectionist Paralyzed" const primaryTool = result.barriers[result.primary_barrier].tool; // Display to user showProfileCard({ title: profileName, cluster: superCluster, tool: primaryTool, score: result.mq_score }); // Segment for analytics or notifications trackUserSegment(userId, superCluster); // Store for personalisation await updateUserRecord(userId, { mq_profile: profileName, mq_cluster: superCluster, mq_score: result.mq_score, primary_barrier: result.primary_barrier });
The 9 Super-Clusters
The 56 profiles collapse into 9 super-clusters for simplified segmentation, analytics, and intervention design. Each super-cluster has a primary tool entry point and a characteristic internal monologue. Use super-clusters when you need to group users for cohort analysis or targeted content.
{
"super_clusters": [
{
"name": "The Perfectionist Paralyzed",
"core_dynamic": "Internal shame + scarcity + overwhelm",
"primary_tool": "capacity_ladder",
"user_phrase": "I can't start because it has to be perfect"
},
{
"name": "The Lonely Struggler",
"core_dynamic": "Any barriers + isolation",
"primary_tool": "accountability_trinity",
"user_phrase": "I am dealing with this alone"
},
{
"name": "The Ashamed Avoider",
"core_dynamic": "Guilt + self-doubt + drift",
"primary_tool": "two_envelope_method",
"user_phrase": "I feel guilty about everything I have not done"
},
{
"name": "The Reactive Drifter",
"core_dynamic": "Unconscious avoidance + interruptions + wrong timing",
"primary_tool": "hourly_anchor",
"user_phrase": "Where did the day go?"
},
{
"name": "The Seasonally Lost",
"core_dynamic": "Wrong timing amplifies any other barrier",
"primary_tool": "seasonal_map",
"user_phrase": "I should be further along by now"
},
{
"name": "The Impoverished",
"core_dynamic": "Scarcity lens + any barrier",
"primary_tool": "two_column_inventory",
"user_phrase": "I don't have what I need"
},
{
"name": "The Invaded",
"core_dynamic": "External interruptions + any barrier",
"primary_tool": "invasion_forecast",
"user_phrase": "Everyone keeps interrupting me"
},
{
"name": "The Overwhelmed",
"core_dynamic": "Capacity gap + any barrier",
"primary_tool": "capacity_ladder",
"user_phrase": "It is just too much"
},
{
"name": "The Self-Doubting",
"core_dynamic": "Inner narrative + any barrier",
"primary_tool": "narrative_reset",
"user_phrase": "I am not good enough to do this"
}
]
}
profile_name and super_cluster to end users within your product. The full taxonomy — all 56 profiles and their descriptions — is not included in API responses and is not licensed for redistribution. Contact hello@myreadymindset.com for licensing enquiries.
API Tiers
Start free. Scale as your platform grows. Enterprise includes a dedicated SLA, co-branding rights, and a data processing agreement for healthcare compliance.
Assessment Endpoints
Create sessions, submit answers, and retrieve full MQ profiles including all eight barrier scores, the primary barrier, and tool recommendations.
| Parameter | Type | Description |
|---|---|---|
| client_idrequired | string | Your internal client identifier |
| language | string | Assessment language. Default: en |
| metadata | object | Optional key-value pairs stored with the session |
{
"session_id": "sess_a1b2c3d4",
"client_id": "client_abc123",
"status": "pending",
"questions_url": "https://api.myreadymindset.com/v1/assessment/sessions/sess_a1b2c3d4/questions",
"expires_at": "2026-08-01T23:59:59Z",
"created_at": "2026-07-01T10:00:00Z"
}
{
"answers": [
{ "question_id": 1, "value": 4 },
{ "question_id": 2, "value": 2 },
// ... all 40 answers
{ "question_id": 40, "value": 3 }
]
}
{
"session_id": "sess_a1b2c3d4",
"client_id": "client_abc123",
"mq_score": 87,
"mq_level": "Constrained",
"completed_at": "2026-07-01T10:22:00Z",
"primary_barrier": "inner_narrative",
"profile_name": "The Perfectionist Paralyzed",
"super_cluster": "The Perfectionist Paralyzed",
"barriers": {
"inner_narrative": { "score": 22, "level": "high", "tool": "narrative_reset" },
"unfinished_business": { "score": 18, "level": "high", "tool": "two_envelope_method" },
"autopilot_trap": { "score": 14, "level": "medium", "tool": "hourly_anchor" },
"scarcity_lens": { "score": 11, "level": "medium", "tool": "two_column_inventory" },
"invasion_factor": { "score": 8, "level": "low", "tool": "invasion_forecast" },
"timing_mismatch": { "score": 6, "level": "low", "tool": "seasonal_map" },
"capacity_gap": { "score": 5, "level": "low", "tool": "capacity_ladder" },
"isolation_trap": { "score": 3, "level": "low", "tool": "accountability_trinity" }
},
"tools": {
"narrative_reset": {
"name": "The Narrative Reset",
"barrier": "inner_narrative",
"steps_count": 4,
"steps_url": "https://api.myreadymindset.com/v1/tools/narrative_reset"
}
// ... tools for all active barriers
}
}
Client Endpoints
Create and manage client profiles, retrieve MQ score history, and track barrier changes across reassessments.
| Parameter | Type | Description |
|---|---|---|
| external_idrequired | string | Your internal user ID |
| string | Client email for notifications | |
| first_name | string | Client first name |
| practitioner_id | string | Assign to a practitioner on creation |
| metadata | object | Custom key-value pairs |
{
"client_id": "client_abc123",
"external_id": "user_7890",
"email": "sarah@example.com",
"first_name": "Sarah",
"practitioner_id": "prac_xyz",
"latest_mq_score": 87,
"assessment_count":2,
"pathway_day": 34,
"created_at": "2026-06-01T09:00:00Z"
}
| Query Param | Type | Description |
|---|---|---|
| practitioner_id | string | Filter by practitioner |
| mq_level | string | Filter: ready, developing, constrained, blocked, crisis |
| limit | integer | Results per page. Default: 20. Max: 100 |
| cursor | string | Pagination cursor from previous response |
{
"client_id": "client_abc123",
"assessments": [
{
"session_id": "sess_day1",
"day": 1,
"mq_score": 112,
"completed_at":"2026-06-01T09:00:00Z"
},
{
"session_id": "sess_day30",
"day": 30,
"mq_score": 87,
"completed_at":"2026-07-01T10:22:00Z"
}
],
"score_delta": -25,
"trend": "improving"
}
90-Day Pathway Endpoints
Access the full 90-Day Pathway structure, update task completion, and track a client's progress through all three phases.
{
"client_id": "client_abc123",
"current_day": 34,
"current_phase": "deepening",
"current_week": 5,
"overall_pct": 28,
"streak_days": 7,
"phases": {
"foundation": { "complete": true, "pct": 100 },
"deepening": { "complete": false, "pct": 15 },
"integration": { "complete": false, "pct": 0 }
},
"current_week_tasks": [
{ "id": "w5t1", "task": "Deploy Invasion Forecast", "complete": true, "category": "tool" },
{ "id": "w5t2", "task": "Track defence effectiveness", "complete": false, "category": "tool" },
{ "id": "w5t3", "task": "Four-barrier analysis", "complete": false, "category": "reflect" },
{ "id": "w5t4", "task": "Run all 4 tools in protocol", "complete": false, "category": "protocol" },
{ "id": "w5t5", "task": "Trinity Challenger daily report","complete": false, "category": "trinity" }
]
}
{
"task_id": "w5t2",
"complete": true,
"journal_entry": "Optional journal text for this task"
}
Practitioner Endpoints
List certified practitioners, assign them to clients, and manage practitioner-client relationships within your platform.
{
"practitioners": [
{
"practitioner_id": "prac_xyz",
"name": "Dr. Sarah Okafor",
"level": "RMP",
"client_count": 12,
"status": "active"
}
],
"total": 1
}
| Parameter | Type | Description |
|---|---|---|
| practitioner_idrequired | string | ID of the practitioner to assign |
Organisation Endpoints
Retrieve team-level MQ data, barrier heatmaps, and bulk invite employees. Designed for HR platforms and enterprise integrations.
{
"org_id": "org_acme",
"team_size": 47,
"assessed": 43,
"avg_mq_score": 94,
"mq_distribution": {
"ready": 6,
"developing": 14,
"constrained":18,
"blocked": 5,
"crisis": 0
},
"barrier_heatmap": {
"inner_narrative": 16.2,
"unfinished_business":14.8,
"autopilot_trap": 12.4,
"scarcity_lens": 11.9,
"invasion_factor": 10.2,
"timing_mismatch": 9.7,
"capacity_gap": 8.3,
"isolation_trap": 7.1
}
}
{
"employees": [
{ "email": "alice@acme.com", "department": "Engineering" },
{ "email": "bob@acme.com", "department": "Sales" }
],
"message": "Optional custom message in the invite email"
}
Live API Tester
Try the API in the sandbox environment. Use your test key (rm_test_demo) to explore responses without affecting live data.