{"schemaVersion":"mappls.capability-qualification.v1","id":"intouch-telematics--rest--qualification","matrixCellId":"intouch-telematics--rest","product":{"slug":"intouch-telematics","name":"InTouch Telematics","summary":"Live tracking, trips, devices, vehicles, events, geofences, and fleet intelligence.","category":"Operations","accent":"#e052a0"},"platform":{"slug":"rest","name":"REST","headline":"Put Mappls behind a stable service boundary in any stack."},"status":"ready-to-qualify","stateModel":"stateful","integrationLane":"trusted-service","decision":{"availability":"listed","evidenceStatus":"listed-with-exact-evidence","exactEvidence":[{"kind":"source-guide","fidelity":"exact-source","slug":"mapmyindia-intouch-rest-apis","title":"Mapmyindia Intouch REST Apis","href":"/reference/mapmyindia-intouch-rest-apis"},{"kind":"source-guide","fidelity":"exact-source","slug":"mapmyindia-purejs-sample-websdk-rest","title":"MapmyIndia Interactive Maps JS SDK & MapmyIndia RESTful APIs for Web in Pure JS","href":"/reference/mapmyindia-purejs-sample-websdk-rest"},{"kind":"source-guide","fidelity":"exact-source","slug":"mappls-intouch-rest-apis","title":"Mappls Intouch REST Apis","href":"/reference/mappls-intouch-rest-apis"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-alarm-this-api-will-get-all-the-alarm-configurations-for-a-user-v1-0-0","title":"This API will get all the alarm configurations for a user.","href":"/api-reference/intouch-get-alarm-this-api-will-get-all-the-alarm-configurations-for-a-user-v1-0-0"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-alarm-this-api-will-get-all-the-alarm-configurations-for-a-user","title":"This API will get all the alarm configurations for a user.","href":"/api-reference/intouch-get-alarm-this-api-will-get-all-the-alarm-configurations-for-a-user"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-post-alarm-this-api-will-create-an-alarm-v1-0-0","title":"This API will create an alarm.","href":"/api-reference/intouch-post-alarm-this-api-will-create-an-alarm-v1-0-0"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-post-alarm-this-api-will-create-an-alarm","title":"This API will create an alarm.","href":"/api-reference/intouch-post-alarm-this-api-will-create-an-alarm"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-alarm-alarmlog-gets-the-list-of-alarm-config-s-v1-0-0","title":"Gets The List Of Alarm Config(s)","href":"/api-reference/intouch-get-alarm-alarmlog-gets-the-list-of-alarm-config-s-v1-0-0"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-alarm-alarmlog-gets-the-list-of-alarm-config-s","title":"Gets The List Of Alarm Config(s)","href":"/api-reference/intouch-get-alarm-alarmlog-gets-the-list-of-alarm-config-s"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-delete-alarm-id-deletes-an-alarm-config-v1-0-0","title":"Deletes An Alarm Config","href":"/api-reference/intouch-delete-alarm-id-deletes-an-alarm-config-v1-0-0"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-delete-alarm-id-deletes-an-alarm-config","title":"Deletes An Alarm Config","href":"/api-reference/intouch-delete-alarm-id-deletes-an-alarm-config"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-post-alarm-id-updates-an-alarm-config-v1-0-0","title":"Updates An Alarm Config","href":"/api-reference/intouch-post-alarm-id-updates-an-alarm-config-v1-0-0"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-post-alarm-id-updates-an-alarm-config","title":"Updates An Alarm Config","href":"/api-reference/intouch-post-alarm-id-updates-an-alarm-config"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-alarms-this-api-will-get-all-the-alarm-configurations-for-a-user","title":"This API will get all the alarm configurations for a user.","href":"/api-reference/intouch-get-alarms-this-api-will-get-all-the-alarm-configurations-for-a-user"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-post-alarms-this-api-will-create-an-alarm","title":"This API will create an alarm.","href":"/api-reference/intouch-post-alarms-this-api-will-create-an-alarm"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-alarms-alarmlogs-gets-the-list-of-alarm-config-s","title":"Gets The List Of Alarm Config(s)","href":"/api-reference/intouch-get-alarms-alarmlogs-gets-the-list-of-alarm-config-s"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-delete-alarms-id-deletes-an-alarm-config","title":"Deletes An Alarm Config","href":"/api-reference/intouch-delete-alarms-id-deletes-an-alarm-config"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-post-alarms-id-updates-an-alarm-config","title":"Updates An Alarm Config","href":"/api-reference/intouch-post-alarms-id-updates-an-alarm-config"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-devices-info-gets-the-basic-info-of-devices","title":"Gets the basic info of devices.","href":"/api-reference/intouch-get-devices-info-gets-the-basic-info-of-devices"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-devices-hardwareinfo-gets-the-hardware-info-of-devices","title":"Gets the hardware info of devices.","href":"/api-reference/intouch-get-devices-hardwareinfo-gets-the-hardware-info-of-devices"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-devices-gets-the-live-data-of-devices","title":"Gets the live data of devices.","href":"/api-reference/intouch-get-devices-gets-the-live-data-of-devices"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-device-gets-the-live-data-of-devices","title":"Gets the live data of devices.","href":"/api-reference/intouch-get-device-gets-the-live-data-of-devices"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-device-drive-gets-drive-details-of-a-device","title":"Gets drive details of a device.","href":"/api-reference/intouch-get-device-drive-gets-drive-details-of-a-device"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-devices-drives-gets-drive-details-of-a-device","title":"Gets drive details of a device.","href":"/api-reference/intouch-get-devices-drives-gets-drive-details-of-a-device"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-device-deviceid-events-gets-the-historical-location-events-of-a-device","title":"Gets the historical location events of a device.","href":"/api-reference/intouch-get-device-deviceid-events-gets-the-historical-location-events-of-a-device"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-devices-deviceid-events-gets-the-historical-location-events-of-a-device","title":"Gets the historical location events of a device.","href":"/api-reference/intouch-get-devices-deviceid-events-gets-the-historical-location-events-of-a-device"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-geofence-gets-all-the-configured-geofence-s-v1-0-0","title":"Gets All The Configured Geofence(s)","href":"/api-reference/intouch-get-geofence-gets-all-the-configured-geofence-s-v1-0-0"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-geofence-gets-all-the-configured-geofence-s","title":"Gets All The Configured Geofence(s)","href":"/api-reference/intouch-get-geofence-gets-all-the-configured-geofence-s"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-post-geofence-create-a-new-geofence-v1-0-0","title":"Create A New Geofence","href":"/api-reference/intouch-post-geofence-create-a-new-geofence-v1-0-0"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-post-geofence-create-a-new-geofence","title":"Create A New Geofence","href":"/api-reference/intouch-post-geofence-create-a-new-geofence"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-geofence-activity-get-all-the-activities-done-by-devices-w-r-t-various-geofences","title":"Get all the activities done by devices w.r.t various geofences","href":"/api-reference/intouch-get-geofence-activity-get-all-the-activities-done-by-devices-w-r-t-various-geofences"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-delete-geofence-id-delete-a-geofence-v1-0-0","title":"Delete A Geofence.","href":"/api-reference/intouch-delete-geofence-id-delete-a-geofence-v1-0-0"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-delete-geofence-id-delete-a-geofence","title":"Delete A Geofence.","href":"/api-reference/intouch-delete-geofence-id-delete-a-geofence"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-geofence-id-get-a-single-or-multiple-geofence-s-v1-0-0","title":"Get A Single Or Multiple Geofence(s).","href":"/api-reference/intouch-get-geofence-id-get-a-single-or-multiple-geofence-s-v1-0-0"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-geofence-id-get-a-single-or-multiple-geofence-s","title":"Get A Single Or Multiple Geofence(s).","href":"/api-reference/intouch-get-geofence-id-get-a-single-or-multiple-geofence-s"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-post-geofence-id-update-a-geofence-v1-0-0","title":"Update A Geofence.","href":"/api-reference/intouch-post-geofence-id-update-a-geofence-v1-0-0"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-post-geofence-id-update-a-geofence","title":"Update A Geofence.","href":"/api-reference/intouch-post-geofence-id-update-a-geofence"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-geofences-gets-all-the-configured-geofence-s","title":"Gets All The Configured Geofence(s)","href":"/api-reference/intouch-get-geofences-gets-all-the-configured-geofence-s"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-post-geofences-create-a-new-geofence","title":"Create A New Geofence","href":"/api-reference/intouch-post-geofences-create-a-new-geofence"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-geofences-activities-get-all-the-activities-done-by-devices-w-r-t-various-geofences","title":"Get all the activities done by devices w.r.t various geofences","href":"/api-reference/intouch-get-geofences-activities-get-all-the-activities-done-by-devices-w-r-t-various-geofences"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-delete-geofences-id-delete-a-geofence","title":"Delete A Geofence.","href":"/api-reference/intouch-delete-geofences-id-delete-a-geofence"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-geofences-id-get-a-single-or-multiple-geofence-s","title":"Get A Single Or Multiple Geofence(s).","href":"/api-reference/intouch-get-geofences-id-get-a-single-or-multiple-geofence-s"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-post-geofences-id-update-a-geofence","title":"Update A Geofence.","href":"/api-reference/intouch-post-geofences-id-update-a-geofence"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-group-this-api-will-get-all-the-groups-for-a-user","title":"This API will get all the groups for a user.","href":"/api-reference/intouch-get-group-this-api-will-get-all-the-groups-for-a-user"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-post-group-this-api-will-create-a-group","title":"This API will create a group.","href":"/api-reference/intouch-post-group-this-api-will-create-a-group"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-delete-group-id-deletes-a-group","title":"Deletes a group","href":"/api-reference/intouch-delete-group-id-deletes-a-group"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-post-group-id-updates-a-group","title":"Updates a group","href":"/api-reference/intouch-post-group-id-updates-a-group"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-groups-this-api-will-get-all-the-groups-for-a-user","title":"This API will get all the groups for a user.","href":"/api-reference/intouch-get-groups-this-api-will-get-all-the-groups-for-a-user"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-post-groups-this-api-will-create-a-group","title":"This API will create a group.","href":"/api-reference/intouch-post-groups-this-api-will-create-a-group"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-delete-groups-id-deletes-a-group","title":"Deletes a group","href":"/api-reference/intouch-delete-groups-id-deletes-a-group"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-post-groups-id-updates-a-group","title":"Updates a group","href":"/api-reference/intouch-post-groups-id-updates-a-group"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-devices-nearby-gets-the-list-of-all-the-nearby-devices","title":"Gets the list of all the nearby devices.","href":"/api-reference/intouch-get-devices-nearby-gets-the-list-of-all-the-nearby-devices"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-trips-this-api-will-get-all-the-trips-for-a-user","title":"This API will get all the trips for a user.","href":"/api-reference/intouch-get-trips-this-api-will-get-all-the-trips-for-a-user"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-post-trips-this-api-will-create-a-trip","title":"This API will create a trip.","href":"/api-reference/intouch-post-trips-this-api-will-create-a-trip"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-get-trips-id-gets-the-details-of-a-single-trip","title":"Gets the details of a single trip","href":"/api-reference/intouch-get-trips-id-gets-the-details-of-a-single-trip"},{"kind":"api","fidelity":"exact-product-platform","slug":"intouch-post-trips-id-close-post-api-to-close-a-trip","title":"POST API to close a trip.","href":"/api-reference/intouch-post-trips-id-close-post-api-to-close-a-trip"},{"kind":"tutorial","fidelity":"exact-product-platform","slug":"delivery-eta","title":"Track a delivery with a trustworthy ETA","href":"/tutorials/delivery-eta"},{"kind":"tutorial","fidelity":"exact-product-platform","slug":"fleet-geofences","title":"Build fleet geofence operations","href":"/tutorials/fleet-geofences"},{"kind":"tutorial","fidelity":"exact-product-platform","slug":"webhook-reliability","title":"Consume Mappls events exactly once in effect","href":"/tutorials/webhook-reliability"},{"kind":"tutorial","fidelity":"exact-product-platform","slug":"oauth-server-integration","title":"Call Mappls safely from a trusted server","href":"/tutorials/oauth-server-integration"},{"kind":"tutorial","fidelity":"exact-product-platform","slug":"intouch-trip-lifecycle","title":"Reconcile a complete InTouch trip lifecycle","href":"/tutorials/intouch-trip-lifecycle"}],"supportingEvidence":[{"kind":"quickstart","fidelity":"platform-adjacent","slug":"rest-api","title":"Your first trusted Mappls request","href":"/quickstart/rest-api"},{"kind":"starter-kit","fidelity":"platform-adjacent","slug":"rest-api-starter","title":"Trusted REST service starter","href":"/starter-kits/rest-api-starter"},{"kind":"sample-app","fidelity":"product-adjacent","slug":"delivery-control-tower","title":"Delivery Control Tower","href":"/samples/delivery-control-tower"},{"kind":"sample-app","fidelity":"product-adjacent","slug":"grid-restoration-desk","title":"Grid Restoration Desk","href":"/samples/grid-restoration-desk"},{"kind":"sample-app","fidelity":"product-adjacent","slug":"care-transfer-desk","title":"Care Transfer Desk","href":"/samples/care-transfer-desk"},{"kind":"sample-app","fidelity":"product-adjacent","slug":"airside-turnaround-desk","title":"Airside Turnaround Desk","href":"/samples/airside-turnaround-desk"},{"kind":"sample-app","fidelity":"product-adjacent","slug":"fleet-geofence","title":"Fleet Geofence Monitor","href":"/samples/fleet-geofence"},{"kind":"sample-app","fidelity":"product-adjacent","slug":"incident-dispatch","title":"Incident Dispatch","href":"/samples/incident-dispatch"},{"kind":"sample-app","fidelity":"product-adjacent","slug":"spatial-agent","title":"Spatial Operations Agent","href":"/samples/spatial-agent"},{"kind":"sample-app","fidelity":"product-adjacent","slug":"a2a-solution-studio","title":"A2A Solution Studio","href":"/samples/a2a-solution-studio"},{"kind":"sample-app","fidelity":"product-adjacent","slug":"deep-link-journey-host","title":"Deep-link & Native UI Journey Host","href":"/samples/deep-link-journey-host"},{"kind":"journey","fidelity":"product-adjacent","slug":"connected-fleet-trip","title":"Connected fleet trip","href":"/journeys/connected-fleet-trip"},{"kind":"journey","fidelity":"product-adjacent","slug":"fleet-geofence-exception","title":"Fleet geofence exception","href":"/journeys/fleet-geofence-exception"},{"kind":"journey","fidelity":"product-adjacent","slug":"ios-geofence-draft","title":"iOS geofence draft and publication boundary","href":"/journeys/ios-geofence-draft"}],"boundary":"Listed means this product names the platform in the canonical catalog. Source evidence, repository activity, fixtures, tutorials, and successful builds still do not prove package availability, account entitlement, runtime compatibility, region, quota, support, or production approval."},"authenticationCandidates":[{"slug":"intouch-rest-bearer","title":"InTouch telematics data plane","runtime":"trusted-server","generation":"InTouch REST","visibility":"secret","evidenceBoundary":"The normalized repository contract declares bearer transport for these InTouch operations; entitlement, token issuance, permitted assets, and production retention remain account-specific.","href":"/authentication#intouch-rest-bearer"},{"slug":"mcp-gateway-and-provider","title":"MCP and AI-native clients","runtime":"mcp","generation":"MCP offline or live-read profile","visibility":"selection-required","evidenceBoundary":"MCP documentation tools need no provider credential. Live-read tools delegate to exact product contracts; the MCP server is not an authorization server and exposes no writes.","href":"/authentication#mcp-gateway-and-provider"}],"identityLock":["Product and platform decision ID","Account and environment reference","Region and data-residency decision","Approved host/path and API generation","Server workload and egress identity","Secret-provider key version—not its value","Source/distribution fingerprint and release owner","Quota, support, incident, rollback, and retirement owners"],"scenarios":[{"id":"clean-build","title":"Clean build and identity lock","purpose":"Prove the selected source, distribution, toolchain, and runtime identity from a clean environment.","expectedEvidence":"Checksums, dependency lock, build log, runtime identity, and exact evidence links agree without workstation-only state.","recovery":"Stop qualification, reconcile the exact distribution or contract, and rebuild from a clean environment."},{"id":"fixture-success","title":"Deterministic fixture success","purpose":"Exercise the application adapter without credentials or provider traffic.","expectedEvidence":"The fixture produces the documented application contract and retains source identity plus state ownership.","recovery":"Fix the application boundary before requesting account access; a live call must not compensate for an unproven adapter."},{"id":"authentication-denied","title":"Missing, denied, expired, and revoked access","purpose":"Prove least-privilege failure without logging, reflecting, or weakening credential controls.","expectedEvidence":"Every access failure is classified, redacted, bounded, and routes to entitlement or credential reconciliation.","recovery":"Stop retries, preserve only safe request evidence, and reconcile the issued account contract independently."},{"id":"quota-unavailable","title":"Quota, timeout, offline, and service unavailability","purpose":"Prove bounded retry, fallback, and user-visible degradation for the exact operation safety class.","expectedEvidence":"Retry-After is honored where present; uncertain state changes never become blind retries.","recovery":"Use bounded backoff for safe reads and reconcile state-changing unknown outcomes before replay."},{"id":"upgrade-rollback","title":"Upgrade, downgrade, and rollback","purpose":"Prove that source, SDK, wrapper, schema, and runtime changes are independently reversible.","expectedEvidence":"Compatibility evidence names both versions, acceptance results, rollback trigger, and retained data/state behavior.","recovery":"Freeze rollout, restore the last qualified artifact, and reopen source and entitlement selection."},{"id":"idempotent-replay","title":"Idempotent command replay","purpose":"Repeat one stable command identity after a committed or uncertain result.","expectedEvidence":"The aggregate version and application event identity do not duplicate.","recovery":"Reconcile by stable business and provider identity before any new command."},{"id":"stale-version","title":"Stale version and concurrent actor","purpose":"Prevent an older actor or callback from overwriting newer durable truth.","expectedEvidence":"The stale transition is rejected without state mutation or event emission.","recovery":"Reload the current aggregate, re-evaluate policy, and require a new attributable decision."},{"id":"unknown-outcome","title":"Unknown provider outcome","purpose":"Separate timeout from failure and preserve a recoverable pending state.","expectedEvidence":"The application records the attempt, reconciles provider truth, and completes or retries without duplication.","recovery":"Do not infer success or failure; reconcile using the exact issued operation and durable identity."},{"id":"restart-recovery","title":"Restart and delayed evidence","purpose":"Recover application-owned state after process restart and reject late or superseded callbacks.","expectedEvidence":"The journey resumes from durable records and preserves generation, actor, and event ordering.","recovery":"Rebuild the read model from immutable application evidence and quarantine ambiguous callbacks."}],"phases":[{"id":"select-authority","title":"Lock source and product authority","owner":"Product owner + application technical owner","state":"actionable","objective":"Resolve the exact product, platform, source, distribution, generation, account, region, and owner before code or access is approved.","activities":["Review exact evidence separately from adjacent learning material.","Record every unresolved package, endpoint, callback, entitlement, and version question.","Keep not-listed and selection-required decisions blocked until an attributable owner supplies exact evidence."],"exitEvidence":["Immutable product-platform decision","Exact source/distribution identities and fingerprints","Named product, security, application, and release owners"],"blockedBy":[]},{"id":"lock-runtime","title":"Lock runtime and authentication","owner":"Application owner + security","state":"actionable","objective":"Bind the runtime identity to one authentication generation and least-privilege placement without accepting a credential value.","activities":["Record the runtime identity fields for this integration lane.","Choose one issued authentication path and document forbidden placement.","Define non-production restrictions, rotation, redaction, and incident ownership."],"exitEvidence":["Runtime compatibility decision","Credential class and restriction record","Secret/public-value placement review"],"blockedBy":[]},{"id":"prove-fixture","title":"Prove the application contract offline","owner":"Application team","state":"actionable","objective":"Exercise a deterministic adapter and every application-owned invariant before provider access.","activities":["Run the clean-build and fixture-success scenarios.","Normalize provider-shaped data at the adapter edge and keep opaque objects out of durable state.","Prove denial, quota, unavailable, upgrade, and rollback behavior with fixtures."],"exitEvidence":["Fixture results tied to the source lock","Application contract/schema","Failure and rollback evidence"],"blockedBy":[]},{"id":"qualify-nonproduction","title":"Qualify issued non-production access","owner":"Product owner + application team","state":"external-evidence-required","objective":"Run the smallest read or explicitly approved test journey against an issued non-production account without exporting secrets or sensitive payloads.","activities":["Confirm account, entitlement, host, region, quota, and exact operation/distribution.","Capture credential-free conformance results and safe request identities.","Compare live shape and failure classification to the locked application contract."],"exitEvidence":["Signed or attributable product-owner decision","Credential-free conformance report","Account/region/quota/entitlement reference","Observed compatibility and divergence record"],"blockedBy":["Issued non-production account and approved provider contract are external requirements."]},{"id":"exercise-journey","title":"Exercise lifecycle and hostile paths","owner":"Application team + operations","state":"external-evidence-required","objective":"Prove complete success, denial, degradation, recovery, restart, and rollback behavior at the integration's true state depth.","activities":["Execute every published qualification scenario.","For hybrid/stateful work, prove replay, stale-version, unknown-outcome, and restart recovery.","Verify telemetry, quota alarms, support evidence, cleanup, and rollback."],"exitEvidence":["Scenario-by-scenario result ledger","State/reconciliation evidence where applicable","Alert, runbook, support, cleanup, and rollback evidence"],"blockedBy":["Operational telemetry and provider-degradation exercises require an approved environment."]},{"id":"approve-release","title":"Independent release and deployment","owner":"Independent security + operations + product release owners","state":"external-evidence-required","objective":"Freeze the qualified artifact and collect independent authority without allowing developer evidence to self-approve production.","activities":["Attach exact artifacts to the governed release workflow.","Review security/privacy, product conformance, operations, quota, regional, legal, and rollback evidence.","Use progressive deployment and independently reconcile production health."],"exitEvidence":["Immutable release artifact and evidence digests","Independent approvals","Progressive deployment, rollback, and post-release reconciliation evidence"],"blockedBy":["This catalog never grants entitlement, support, production release, or deployment authority."]}],"releaseEvidence":["Exact source, package/distribution, contract generation, and runtime identity","Issued account, entitlement, region, quota, and credential-class reference without secret values","Clean build, fixture, non-production conformance, hostile-path, upgrade, and rollback results","Security, privacy, accessibility, operational, legal/content, and product-owner decisions","Immutable release artifact digest, progressive deployment evidence, and independent post-release reconciliation"],"handoff":{"websitePath":"/platforms/qualify?product=intouch-telematics&platform=rest","apiPath":"/api/capability-qualifications?product=intouch-telematics&platform=rest","downloadPath":"/api/capability-qualifications?product=intouch-telematics&platform=rest&download=1","matrixPath":"/platforms/matrix?product=intouch-telematics&platform=rest","productPath":"/docs/intouch-telematics","platformPath":"/platforms/rest"},"safety":{"providerCalls":0,"credentialsAccepted":false,"providerPayloadsAccepted":false,"writesExposed":false,"productionApprovalGranted":false}}