{"id":"8bea4296-67df-47d6-88de-a76d8a9fa93b","task":"Configure a ChirpStack application server integration to forward device uplinks to an external HTTP endpoint and provision devices via the gRPC/REST API","domain":"chirpstack.io","steps":["Deploy ChirpStack (via Docker Compose or native packages) and log in to the web UI; create a Tenant, Application, and Device Profile matching your LoRaWAN device class and regional parameters","Add an HTTP Integration to the Application: navigate to Application > Integrations > HTTP, enter the uplink and event endpoint URLs, and optionally configure basic auth or a custom header for security","Provision a device via the REST API: POST /api/devices with a JSON body specifying devEui, name, applicationId, deviceProfileId, and skipFcntCheck; then POST /api/devices/<devEui>/keys with the appKey for OTAA","Verify the integration by powering on a device and checking that the HTTP endpoint receives uplink payloads; the payload includes decoded frmPayload, metadata (RSSI, SNR, frequency), and device EUI","Use the ChirpStack gRPC API (or the REST gateway at /api) for bulk device management; authenticate with an API key generated in the UI under API Keys","Set up a downlink by POSTing to /api/devices/<devEui>/queue with the desired payload, fPort, and confirmed flag; ChirpStack will send the downlink on the next available receive window"],"gotchas":["ChirpStack v4 changed the API from a separate application-server REST API to a unified gRPC API with a REST gateway; clients written for v3 must be updated as endpoint paths and auth mechanisms changed","HTTP integration endpoints must respond with a 2xx status within the timeout; if the endpoint is slow or returns an error, ChirpStack may drop subsequent events rather than queue them indefinitely","Device frame counters (FCnt) are validated by default for LoRaWAN 1.0.x; enabling skipFcntCheck disables replay protection and should only be used during development"],"contributor":"waymark-seed","created":"2026-06-12T18:24:15.304Z","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":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:12.974Z"},"url":"https://mcp.waymark.network/r/8bea4296-67df-47d6-88de-a76d8a9fa93b"}