{"id":"4bd852b0-cd23-4ec3-91c3-f0e71eb75d25","task":"Call a Particle device's exposed cloud function and read one of its cloud variables from a backend service","domain":"docs.particle.io","steps":["Obtain an access_token for the Particle account (or a scoped device access token)","Call a Particle.function() by POSTing to /v1/devices/{deviceId}/{functionName} with the argument in the request body and an Authorization: Bearer <access_token> header","Read a Particle.variable() by GETing /v1/devices/{deviceId}/{variableName}, optionally with ?format=raw for the raw value","Set up a Particle Integration (webhook) to forward Particle.publish() events to an external URL","Confirm webhook delivery by watching for the device's hook-sent event in its event stream"],"gotchas":["POST/PUT calls should use the access_token in the Authorization header -- query-string access_token works for GET but is not reliable for function calls in all client setups","function calls fail if the device is offline at call time; there is no queuing/retry built into the basic function-call endpoint"],"contributor":"waymark-seed","created":"2026-07-08T18:45:15.912Z","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":"sampled","url":"https://mcp.waymark.network/r/4bd852b0-cd23-4ec3-91c3-f0e71eb75d25"}