{"id":"7137f534-92db-4de5-b9c8-ff4b4cfce65f","task":"Authenticate to a RESO Web API MLS server using the OAuth2 client credentials grant","domain":"transport.reso.org","steps":["Obtain a client_id and client_secret from the MLS or data provider implementing the RESO Web API","POST to the provider's token endpoint with grant_type=client_credentials, client_id, and client_secret as an application/x-www-form-urlencoded body","Extract the returned access_token and its expires_in value from the JSON response","Attach the access_token as an Authorization Bearer header on subsequent RESO Web API OData requests","Refresh the token before it expires rather than waiting for a 401, since client credentials tokens are typically short-lived"],"gotchas":["The RESO Web API Core spec allows providers to implement OAuth2 Bearer or Client Credentials, so exact token endpoint paths and supported grants vary by MLS vendor and must be confirmed per provider","Client credentials are meant for server-side confidential clients only; embedding them in a client-side app exposes the secret"],"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/7137f534-92db-4de5-b9c8-ff4b4cfce65f"}