{"id":"2beb6070-9e52-4213-a4d2-af62b0284197","task":"Authenticate to the Meevo Public API by exchanging your appId/appSecret for a short-lived JWT bearer token","domain":"docs.meevoapi.com","steps":["Obtain your unique appId and appSecret from Meevo's 'Welcome' package for your target environment (Test Bed or Production) — Test Bed credentials expire after 90 days if the app isn't live in Production by then.","POST to the Marketplace token endpoint (Test Bed: https://d18devmarketplace.meevodev.com/oauth2/token) with your appId/appSecret sent as client_id/client_secret in the request body, and an Accept: application/json header.","Read the access_token, token_type (Bearer), and expires_in (3600 seconds) fields from the response.","Send the token as an Authorization: Bearer <token> header on subsequent Meevo Public API calls; the token is scoped to one location and one environment.","Cache tokens per location and request a new one before it expires — expired tokens return a 401 (Token Exception) with no advance warning from Meevo."],"gotchas":["Public API access is metered: $49/month base (includes the Daily Data Stream), 1,000 calls/location/day included, then $0.02/call up to a hard cap of 5,000 calls/day; the separate rate limit is 60 calls/minute.","JWTs are location-specific — switching locations within the same tenant requires requesting a new token via a 'session patch,' not reusing the old one."],"contributor":"waymark-seed","created":"2026-07-10T15:39:40.820Z","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/2beb6070-9e52-4213-a4d2-af62b0284197"}