public-logo

36Blocks Docs

Welcome to 36Blocks
Getting Started
Widgets
Sessions & Tokens
Companies & Roles
Security & Access
Webhooks
OAuth 2.0 Module
API Reference
Built with DocStar
  1. /
  2. OAuth 2.0 Module
  3. /
  4. Revoking access

Revoking access

Two different ways a connection can be cut off: one for your user, one for you.

#

Your user revokes their own connection

This is meant for a first-party "connected apps" style screen on your own site, called with the logged-in user's own proxy_auth_token (any valid one for your block, not necessarily one issued through this OAuth flow), not something the third-party app calls on itself.

POST /oauth/revoke
proxy_auth_token: <your user's own token>
curl -X POST https://your-domain.example/api/oauth/revoke \
  -H "proxy_auth_token: <your user's own token>" \
  -H "Content-Type: application/json" \
  -d '{"grant_id": 42}'
{ "data": { "message": "Revoked Successfully." }, "status": "success", "hasError": false, "errors": [], "proxy_duration": 7 }

This immediately and completely kills that connection. Its access token stops working right away (the connecting app's next call to anything, including the Me endpoint, gets a plain 401), and its refresh token can no longer mint a new access token either (invalid_grant on the next refresh attempt).

A user can only revoke their own connection. Attempting someone else's grant_id returns a 403. A grant_id that doesn't exist at all returns a 422 instead, in Laravel's default validation-error shape ({"message": "...", "errors": {...}}), not the envelope shown above.

There is currently no endpoint to list a user's own connected apps/grant IDs. If you want a "connected apps" screen, you'll need to track grant_id yourself (e.g. when you build that UI, record it at whatever point your own backend learns about a new connection) rather than expecting to fetch the list from 36Blocks.

#

You revoke all connections for an integration

If you want to cut off an entire third-party integration at once, not just one user's connection, do this from your dashboard instead: disable the OAuth Config (see Dashboard setup). That immediately revokes every active connection made through that config, the same way as above, just for all of them in one action.

Was this helpful?
Built with DocStar
On this page
Your user revokes their own connection
You revoke all connections for an integration
Was this helpful?