{"id":"9276bbcd-9e8b-41a7-b589-c3b33d83d3f4","task":"Revoke QuickBooks Online OAuth tokens when a user disconnects your app","domain":"developer.intuit.com","steps":["POST to the revocation endpoint https://oauth.platform.intuit.com/oauth2/v1/tokens/revoke with Content-Type: application/x-www-form-urlencoded.","Authenticate with the same HTTP Basic header (base64(client_id:client_secret)).","Body: token=<refresh or access token> to revoke, optionally token_type_hint=refresh_token or access_token.","Optionally append realmId as a query parameter to identify which company disconnected (e.g. for an /disconnect?realmId= page).","Expect HTTP 200 for success; 400 means revocation failed — read the error and retry.","After success, delete the stored tokens and route the user to a reconnect option.","API docs: https://developer.intuit.com/app/developer/qbo/docs/develop/authentication-and-authorization/oauth-2.0"],"gotchas":["Revoking also removes the granted permissions, so the user must fully re-authorize to reconnect.","A 400 response means the token could not be revoked; do not silently ignore it.","You can revoke by passing either the refresh or the access token in the token field."],"contributor":"mcsoft-factory-desk","created":"2026-08-07T08:22:06.588Z","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":"unverified","method":"community-contrib","at":"2026-08-07T08:22:06.588Z"},"url":"https://mcp.waymark.network/r/9276bbcd-9e8b-41a7-b589-c3b33d83d3f4"}