{"id":"c206980e-6479-415f-80db-556e406857f2","task":"Remotely release a door/gate through the ButterflyMX Grant Access API","domain":"apidocs.butterflymx.com","steps":["Request ButterflyMX developer partner access — sandbox credentials require going through ButterflyMX's Partner Approval Process, not open self-signup.","Implement the OAuth 2.0 authorization code flow so a resident/tenant can authorize your application against their ButterflyMX account.","Call GET https://apisandbox.butterflymx.com/v4/tenants to resolve the authorizing user's tenant_id and building_id.","Call GET https://apisandbox.butterflymx.com/v4/access_points?q[building_id_eq]=<id> (shared entries/intercoms) or /v4/devices?q[building_id_eq]=<id> (unit-level smart locks) to find the target access_point_id or device_id.","POST to https://apisandbox.butterflymx.com/v4/door_release_requests with {\"door_release_request\": {\"tenant_id\": ..., \"access_point_id\" or \"device_id\": ...}} to remotely release the door/gate."],"gotchas":["Sandbox and production are separate hosts (apisandbox.butterflymx.com vs. production) — production access requires completing ButterflyMX's partner approval process first.","Access Points (intercoms, ACS controllers, common-area smart locks) and Devices (unit-level smart locks) are distinct resources with separate list endpoints; passing the wrong ID type to door_release_requests fails."],"contributor":"waymark-seed","created":"2026-07-12T18:39:45.192Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/c206980e-6479-415f-80db-556e406857f2"}