Supergood | Motivity API
Collect and manage ABA therapy programs, session data, and progress in Motivity with a stable REST API. Supergood builds and operates production-grade, unofficial Motivity integrations so your team can automate clinical data collection, roster syncs, analytics pipelines, and documentation workflows without heavy custom engineering.
In plain English: Motivity is software used by ABA and behavioral health teams to design learning programs and behavior plans, capture trial-by-trial session data, and visualize progress for learners. With an unofficial API, you could programmatically pull learners, programs, targets, session records, and raw observations—and push session notes or new targets—so your other systems (EHR, analytics, scheduling, billing) stay in sync.
If you’re another tech company integrating with Motivity (e.g., an EHR, scheduling platform, or analytics tool), you might:
- Pull: Learner profiles, programs and targets with mastery criteria, session records, raw observations, progress summaries, staff rosters
- Push: New/updated learners from your EHR, scheduled session shells, finalized session notes, target status updates or phase changes, supervision/IOA artifacts
- Build: Program-aware scheduling, real-time performance dashboards, automated progress reports, QC/IOA review queues, downstream billing triggers based on documented services
What is Motivity?
Motivity provides modern ABA data collection and program management software for autism and behavioral health providers. BCBAs design and manage skill acquisition and behavior reduction programs; technicians capture trial-by-trial data on mobile devices (including offline); and teams evaluate progress with built-in graphs and reports.
Core product areas include:
- Program design and management (skills, behaviors, targets, mastery criteria)
- Session data collection (discrete trials, frequency/duration/interval measures)
- Graphing and progress reporting
- Session notes, signatures, and supervision workflows (IOA, BCBA review)
- Learner and staff management with role-based permissions
- Mobile/offline data capture and sync
Common data entities:
- Learners/Clients (demographics, guardians, funding sources)
- Programs (skill or behavior plans) and Targets (objectives)
- Measurement definitions (frequency, duration, interval, task analysis)
- Sessions (date/time, provider, service code, setting, notes, signatures)
- Observations/Data points (trial outcomes, counts, durations, intervals)
- Staff/Providers (RBTs, BCBAs, supervisors)
The Motivity Integration Challenge
Organizations rely on Motivity daily, but turning portal-based clinical workflows into automated pipelines can be hard:
- No public API: Programmatic access for rosters, sessions, and raw data is a common request but typically requires manual exports
- Portal-first delivery: Program details, graphs, and session notes are primarily accessed through the web app, not a published API
- Offline/mobile nuances: Sessions collected offline sync later; integrations must de-duplicate and preserve ordering and timestamps
- Data shape variability: Different measurement types (frequency, duration, interval, task analysis) require normalized schemas
- Identity and access: Role-based permissions, SSO/MFA, and multi-site orgs complicate headless automation
- Downstream system needs: EHRs and billing systems often require structured summaries while analytics teams want raw observation-level data
How Supergood Creates Motivity APIs
Supergood reverse-engineers authenticated browser flows, batch exports, and network interactions to deliver a resilient API endpoint layer.
- Handles username/password, SSO/OAuth, and MFA (SMS, email, TOTP) securely
- Maintains session continuity with automated refresh and change detection
- Normalizes learners, programs, sessions, and observation objects for consistent consumption
- Aligns with customer entitlements and permissions to ensure compliant access
- Bridges exports and batch files with signed URL retrieval and delivery when applicable
Use Cases
EHR-to-Data Synchronization
- Push learner demographics from your EHR into Motivity to reduce double entry
- Create scheduled session shells that technicians fill with data during service delivery
- Maintain a single source of truth for active caseloads and assignments
Program-Aware Scheduling and Supervision
- Pull programs and targets to surface ready-to-run objectives on your scheduler
- Track mastery criteria and automatically route supervision/IOA tasks
- Alert staff when targets are nearing mastery or require phase changes
Real-Time Performance Dashboards
- Stream observation-level data into your data warehouse for dashboards
- Normalize measures (frequency, duration, interval) for cross-learner analytics
- Monitor adherence to session length, service codes, and setting requirements
Documentation and Billing Enablement
- Generate session note summaries (time in/out, services, goals addressed)
- Push finalized notes and service summaries into your EHR (e.g., TherapyNotes, WebABA) for clinician sign-off
- Trigger downstream billing events when documentation is complete and QC checks pass
Audit and Quality Control
- Export complete session packets with notes, signatures, and trial data
- Maintain machine-readable audit trails with timestamps and device metadata
- Run QC workflows for IOA and supervision reviews
Available Endpoints
Authentication
POST /sessions: Establish a session using credentials. Supergood manages MFA (SMS, email, TOTP) and SSO/OAuth when enabled. Returns a short-lived auth token maintained by the platform.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/sessions \
--header 'Authorization: Basic <Base64 encoded token>' \
--header 'Content-Type: application/json' \
--data '{
"username": "[email protected]",
"password": "<password>",
"mfa": {
"type": "totp",
"code": "123456"
}
}'
Example response
{
"authToken": "eyJhbGciOi...",
"expiresIn": 3600,
"user": {
"id": "u_29b71a",
"name": "Jordan RBT",
"roles": ["rbt"],
"entitlements": ["learners", "programs", "sessions"]
}
}
Learners
GET /learners: Retrieve learner/client profiles to power roster syncs, scheduling, and analytics.
Query parameters
- status: string (active, inactive, discharged)
- search: string (name or identifier)
- updatedSince: ISO 8601 timestamp
- page, pageSize: integers
Example response
{
"items": [
{
"learnerId": "lrn_9b42f0",
"firstName": "Ava",
"lastName": "Martinez",
"dateOfBirth": "2017-05-14",
"externalIds": {"ehr": "EHR-001928"},
"guardians": [
{"name": "Luis Martinez", "relationship": "Father", "phone": "+1-555-0101"}
],
"fundingSources": [
{"payer": "Medicaid", "program": "HCBS-Waiver", "memberId": "M123456"}
],
"tags": ["early_intervention"],
"status": "active",
"updatedAt": "2026-01-18T22:41:09Z"
}
],
"page": 1,
"pageSize": 50,
"total": 1
}
Programs & Targets
GET /learners/{learnerId}/programs: Retrieve programs and targets for a learner, including measurement definitions and mastery criteria.
Query parameters
- includeInactive: boolean
- expand: string array (e.g., targets, masteryCriteria)
Example response
{
"learnerId": "lrn_9b42f0",
"programs": [
{
"programId": "prg_skills_201",
"name": "Receptive Labeling",
"type": "skill_acquisition",
"status": "active",
"targets": [
{
"targetId": "tgt_apple",
"label": "Label common fruits",
"measurement": {
"type": "discrete_trial",
"promptHierarchy": ["full_physical", "partial_physical", "model", "gestural", "verbal", "independent"]
},
"masteryCriteria": {
"criterionType": "percent_correct",
"threshold": 80,
"consecutiveSessions": 3
},
"status": "in_progress"
}
],
"updatedAt": "2026-01-17T19:23:54Z"
},
{
"programId": "prg_behavior_110",
"name": "Aggression Reduction",
"type": "behavior_reduction",
"status": "active",
"targets": [
{
"targetId": "tgt_agg_freq",
"label": "Aggression frequency",
"measurement": {
"type": "frequency",
"operationalDefinition": "Hitting, kicking, biting",
"ioaRequired": true
},
"masteryCriteria": {
"criterionType": "rate_decrease",
"baseline": 6.0,
"targetRate": 1.0,
"window": "per_session"
},
"status": "in_progress"
}
]
}
]
}
Sessions
POST /sessions: Create or update a therapy session record with staff, service details, notes, and signatures. Use this to push scheduled sessions or finalize documentation after data collection.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/sessions \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"learnerId": "lrn_9b42f0",
"providerId": "prv_rbt_2208",
"supervisorId": "prv_bcba_3110",
"serviceCode": "97153",
"setting": "home",
"startTime": "2026-01-19T14:02:33Z",
"endTime": "2026-01-19T16:01:47Z",
"location": {"lat": 39.9612, "lng": -82.9988},
"notes": "Worked on receptive labeling and mands; behavior at baseline.",
"signatures": {
"provider": {"name": "Jordan RBT", "signedAt": "2026-01-19T16:05:02Z"},
"guardian": {"name": "Luis Martinez", "signedAt": "2026-01-19T16:06:11Z"}
},
"referenceId": "scheduler-42391"
}'
Example response
{
"sessionId": "ses_58d3e0",
"status": "finalized",
"createdAt": "2026-01-19T16:06:40Z",
"referenceId": "scheduler-42391"
}
Observations (Trial/Data Points)
POST /sessions/{sessionId}/observations: Append observation-level data to a session. Supports discrete trials, frequency counts, durations, and interval records.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/sessions/ses_58d3e0/observations \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"observations": [
{
"targetId": "tgt_apple",
"timestamp": "2026-01-19T14:15:25Z",
"measure": {
"type": "discrete_trial",
"trial": {
"sd": "Label apple",
"response": "correct",
"promptLevel": "gestural",
"latencyMs": 1200
}
}
},
{
"targetId": "tgt_agg_freq",
"timestamp": "2026-01-19T15:12:01Z",
"measure": {
"type": "frequency",
"count": 1
},
"metadata": {"ioa": false}
},
{
"targetId": "tgt_task_analysis_01",
"timestamp": "2026-01-19T15:30:00Z",
"measure": {
"type": "duration",
"durationSeconds": 180
}
}
],
"idempotencyKey": "obs-batch-0001"
}'
Example response
{
"sessionId": "ses_58d3e0",
"accepted": 3,
"duplicates": 0,
"observationIds": ["obs_001", "obs_002", "obs_003"],
"processedAt": "2026-01-19T16:07:12Z"
}
Technical Specifications
- Authentication: Username/password with MFA (SMS, email, TOTP) and SSO/OAuth where enabled; supports service accounts or customer-managed credentials
- Response format: JSON with consistent resource schemas and pagination
- Rate limits: Tuned for enterprise throughput while honoring licensing and usage controls
- Session management: Automatic reauth and cookie/session rotation with health checks
- Data freshness: Near real-time retrieval of learners, programs, sessions, and observations, with de-duplication for offline syncs
- Security: Encrypted transport, scoped tokens, and audit logging; respects Motivity entitlements and organizational permissions
- Webhooks: Optional asynchronous delivery for session finalization, IOA artifacts, and progress updates
Performance Characteristics
- Latency: Sub-second responses for list/detail queries under normal load
- Throughput: Designed for high-volume session/observation ingestion and analytics exports
- Reliability: Retry logic, backoff, and idempotency keys minimize duplicate actions
- Adaptation: Continuous monitoring for UI/API changes with rapid adapter updates
Getting Started
- Schedule Integration Assessment
Book a 30-minute session to confirm your Motivity product mix, licensing, and authentication model.
- Supergood Builds and Validates Your API
We deliver a hardened Motivity adapter tailored to your workflows and entitlements.
- Deploy with Monitoring
Go live with continuous monitoring and automatic adjustments as Motivity evolves.
Frequently Asked Questions
Q: Which Motivity features can this integration cover?
Supergood focuses on data access and automation across commonly used Motivity workflows: learners, programs/targets, sessions, raw observations, and progress summaries—subject to your licensing and permissions. We scope coverage during integration assessment.
Q: How do you handle MFA, SSO, and offline data for automation?
We support username/password + MFA (SMS, email, TOTP) and operate behind SSO/OAuth when enabled. For offline/mobile sessions, we de-duplicate uploaded observations using idempotency keys and preserve source timestamps to maintain accurate sequences.
Q: Can I export raw trial-level data for analytics?
Yes. We normalize observation formats (discrete trials, frequency, duration, interval) and can deliver streaming APIs or periodic exports for your warehouse.
Q: Can this push session summaries into my EHR or billing system?
Yes. We can generate structured session summaries and push them into your EHR (e.g., TherapyNotes, WebABA) or trigger downstream billing events once documentation is complete.
Related Integrations
Intralinks API - Programmatically access the Intralinks VDR with Supergood
Ready to automate your Motivity workflows?
Supergood can have your Motivity integration live in days with no ongoing engineering maintenance.