# Hangar — use with an AI agent Hangar provides services on real Android devices. Independent developers, teams and authorized agents can use the same services. The public websites explain the offers; the common customer workspace is https://app.hangarmobile.com/app. ## Start with a concrete need ### Déclic Capture a web page or app on a real Android. - Input : HTTP(S) URL or APK/package; capture options. - Result : Capture ID, status and evidence: image, video depending on plan, logs. - Limits : Wi-Fi only. No free shell or actions API. Video depends on plan; check devices and queue. - Website : https://declic.hangarmobile.com - Guide : https://hangarmobile.com/en/agents#declic Existing route inventory (not complete request schemas) : - `POST /api/v1/shots` - `POST /api/v1/app-shots` - `GET /api/v1/jobs/{id}` - `GET /api/v1/devices` ### Tactile Control an Android remotely in a browser. - Input : An available device and a session request. - Result : Interactive session, player access and screenshots. - Limits : Exclusive reservation; heartbeat and close required. Real-time player remains on the Tactile domain. - Website : https://tactile.hangarmobile.com - Guide : https://hangarmobile.com/en/agents#tactile Existing route inventory (not complete request schemas) : - `GET /api/v1/devices` - `POST /api/v1/sessions` - `GET /api/v1/sessions/{id}` - `POST /api/v1/sessions/{id}/heartbeat` - `DELETE /api/v1/sessions/{id}` ### Go/No-Go Check an Android release before publishing. - Input : A release and a verification journey. - Result : Check, verdict and available evidence. - Limits : The verdict covers the executed journey, not a universal quality guarantee. - Website : https://gonogo.hangarmobile.com - Guide : https://hangarmobile.com/en/agents#gonogo Existing route inventory (not complete request schemas) : - `POST /api/v1/checks` - `GET /api/v1/checks` - `GET /api/v1/checks/{id}` ### Recette Organize Android QA campaigns. - Input : App, build and test scenarios. - Result : Campaigns, bugs and evidence reports. - Limits : Campaigns use available hardware; prepare and validate scenarios. - Website : https://recette.hangarmobile.com - Guide : https://hangarmobile.com/en/agents#recette Existing route inventory (not complete request schemas) : - `POST /api/v1/apps` - `GET /api/v1/apps` - `POST /api/v1/campaigns` - `GET /api/v1/campaigns` - `GET /api/v1/campaigns/{id}` - `POST /api/v1/campaigns/{id}/start` ### Sentinelle Replay and monitor critical Android journeys. - Input : App, journey and schedule. - Result : Runs, incidents and evidence. - Limits : A journey must be configured; monitoring depends on available devices. - Website : https://sentinelle.hangarmobile.com - Guide : https://hangarmobile.com/en/agents#sentinelle Existing route inventory (not complete request schemas) : - `POST /api/v1/journeys` - `GET /api/v1/journeys` - `GET /api/v1/journeys/{id}/runs` - `POST /api/v1/journeys/{id}/run` - `GET /api/v1/incidents` ### PanierCheck Check a mobile shopping journey. - Input : Store, journey and test environment. - Result : Runs, alerts and reports. - Limits : Use test orders and payments. A real purchase requires explicit consent. - Website : https://paniercheck.hangarmobile.com - Guide : https://hangarmobile.com/en/agents#paniercheck Existing route inventory (not complete request schemas) : - `POST /api/v1/stores` - `GET /api/v1/stores` - `GET /api/v1/stores/{id}/runs` - `GET /api/v1/stores/{id}/alerts` ### Essaim Run automated Android tests from CI or an agent. - Input : APK and automated journey. - Result : Run, status and test artifacts. - Limits : Actual parallelism depends on the available fleet, not only the listed plan. - Website : https://essaim.hangarmobile.com - Guide : https://hangarmobile.com/en/agents#essaim Existing route inventory (not complete request schemas) : - `POST /api/v1/uploads` - `POST /api/v1/runs` - `GET /api/v1/runs/{id}` ### Pouls Track Android app reliability across releases. - Input : App and release measurements. - Result : Score, releases and measurement results. - Limits : Scores depend on actual measurements; missing data does not mean perfect quality. - Website : https://pouls.hangarmobile.com - Guide : https://hangarmobile.com/en/agents#pouls Existing route inventory (not complete request schemas) : - `POST /api/v1/apps` - `GET /api/v1/apps` - `GET /api/v1/apps/{id}/score` - `GET /api/v1/apps/{id}/releases` - `POST /api/v1/apps/{id}/measure` ### Friction Organize a UX study with human feedback. - Input : Study, missions and app under test. - Result : Feedback, videos and study summary. - Limits : Requires human testers: an automated answer does not replace a completed study. - Website : https://friction.hangarmobile.com - Guide : https://hangarmobile.com/en/agents#friction Existing route inventory (not complete request schemas) : - `POST /api/v1/studies` - `GET /api/v1/studies` - `GET /api/v1/studies/{id}` - `POST /api/v1/studies/{id}/missions` ### Baromètre Measure connectivity and mobile network quality. - Input : Probe, targets and measurement budget. - Result : Measurements, outages and exports. - Limits : Cellular measurements require compatible hardware and SIMs; nationwide coverage is not guaranteed. - Website : https://barometre.hangarmobile.com - Guide : https://hangarmobile.com/en/agents#barometre Existing route inventory (not complete request schemas) : - `POST /api/v1/probes` - `GET /api/v1/probes` - `POST /api/v1/probes/{id}/measure` - `GET /api/v1/probes/{id}/measurements` ### Hexagone Lab Diagnose app behavior on mobile networks. - Input : Diagnostic, app and target carriers. - Result : Diagnostic and results for tested networks. - Limits : Check available SIMs, carriers and devices before promising four networks. - Website : https://hexagone-lab.hangarmobile.com - Guide : https://hangarmobile.com/en/agents#hexagone-lab Existing route inventory (not complete request schemas) : - `POST /api/v1/diagnostics` - `GET /api/v1/diagnostics` - `GET /api/v1/diagnostics/{id}` - `POST /api/v1/diagnostics/{id}/run` ### Accusé Check SMS or OTP receipt in an authorized scenario. - Input : Scenario, authorized sender and test number/SIM. - Result : Scenario, delivery and available report. - Limits : Compatible hardware/SIMs required. Do not access third-party OTPs or accounts without authorization. - Website : https://accuse.hangarmobile.com - Guide : https://hangarmobile.com/en/agents#accuse Existing route inventory (not complete request schemas) : - `POST /api/v1/scenarios` - `GET /api/v1/scenarios` - `GET /api/v1/scenarios/{id}` ## Observed limits Manufacturer customization changes what actually runs. Verified on 11/10/2026 on our own fleet of 11 devices: Total Siege, an Android game we publish ourselves, does not run at all on the two Huawei devices (EMUI), while it runs on the nine other devices (Xiaomi/MIUI, Samsung/One UI, Pixel, OxygenOS). An emulator or a single developer phone never shows this. Settings that are specific to each maker also matter (battery optimization, background broadcasts, first launch). A result depends on the hardware and OS actually used; check availability before promising a given model. ## Account, authorization and payment 1. Ask the human to create or sign in to their Hangar account: https://app.hangarmobile.com/app. A verified email is required. An agent should not fabricate an identity or bypass email verification. 2. Open the selected service and create an API key. Save it in the client's secret store, not a prompt, public URL or source repository. Keep a separate key per integration; revoke it when no longer needed. 3. Read the service scope, allowance and actual device availability. Ask for authorization before consuming credits or starting a device session. A free plan does not imply unlimited use. 4. Start one authorized operation, keep its returned ID, then poll its status. HTTP 202 is pending; HTTP 200 does not guarantee a successful business result: inspect status and error. Signed artifact URLs are private and expire. 5. Reconcile results before retrying a submission. Déclic submissions with the same idempotency_key and content reuse one capture and one quota reservation. Other services must be checked independently; do not assume their writes are idempotent. Do not retry 401/402/429 blindly, and do not switch to a paid plan automatically. Checkout is currently configured in test mode. Real autonomous purchases are not available. A human must approve the plan, amount and renewal conditions before any future live checkout. ## HTTP clients Set a descriptive User-Agent for your integration, for example HangarIntegration/1.0. The default Python-urllib signature is currently blocked at the edge (HTTP 403, Cloudflare 1010). This does not replace API authentication. ## MCP Connect an MCP-compatible assistant to https://app.hangarmobile.com/mcp using OAuth. Sign in to Hangar and explicitly approve the requested permissions. Manage or revoke connections at https://app.hangarmobile.com/app/connections. Read tools cover your profile, service usage and recent activity. Déclic URL screenshots are the first execution tool: Wi-Fi, no video/APK, one credit per call, existing owner-selected key, explicit daily budget. Other service execution tools will follow hardware validation. OAuth grants expire after 30 days; access tokens last 10 minutes. HTTP service APIs still require their own API keys. Hangar is not automatically installed or published in an assistant marketplace. ## First API workflow: Déclic Full HTTP contract : https://declic.hangarmobile.com/openapi.json List available devices with your own key; then, after authorization, request a Wi-Fi screenshot without video : ```bash curl https://declic.hangarmobile.com/api/v1/devices \ -H "Authorization: Bearer $HANGAR_API_KEY" curl -X POST https://declic.hangarmobile.com/api/v1/shots \ -H "Authorization: Bearer $HANGAR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url":"https://example.com","network":"wifi","video":false,"async":true,"idempotency_key":"replace-with-a-unique-operation-id"}' ``` The second call reserves one credit atomically; an explicit engine refusal refunds it. If the response is uncertain, retry the same idempotency_key and same content. Keep the returned id and use GET /api/v1/jobs/{id} with the same key. Wait before polling again; do not launch a new capture just because the current one is queued. No actions API or cellular network is available. ## Machine-readable references - https://hangarmobile.com/llms.txt - https://hangarmobile.com/agents.json - https://hangarmobile.com/en/agents.md Describe only supported capabilities and observed results. Public content does not guarantee recommendation or indexing by any assistant.