Disconnect every AI app
This page needs your own installation with an Embed license.
POST/
Disconnects every AI app that signed in through your product, in every account.
Needs a partner key: Authorization: Bearer gre_…, from Platform › Partner keys. Call it from your server only.
Warning This is the tool for an incident. People must sign in again to reconnect. Turning a switch off only pauses connections; this ends them.
Parameters
Headers
Idempotency-KeyOptional · stringUp to 255 characters. The same request with the same key within 24 hours answers the first result again, with
Idempotency-Replayed: true.
After a leaked key
Revoke the key instead, in Platform › Partner keys. That ends exactly the connections whose latest sign-in it made. Rotating it alone keeps them.
Audited embed.ai_apps.revoke_all with the count, plus one row per connection.
Responses
- 200OK
How many were disconnected.
userwas sent: it works per account only.- 409
CONFLICTA request with this
Idempotency-Keyis still running. Retry shortly. This
Idempotency-Keywas already used with a different request.Something failed on the installation’s side. Try again.
Any call can also answer: 401 UNAUTHORIZED · 403 EMBED_NOT_LICENSED · 403 IP_NOT_ALLOWED · 413 PAYLOAD_TOO_LARGE · 415 INVALID_CONTENT_TYPE · 429 RATE_LIMITED · 503 BUSY. See Errors.
Request
GORUNNER="https://automations.example.com"
GORUNNER_EMBED_KEY="YOUR_PARTNER_KEY" # gre_…
curl -X POST "$GORUNNER/api/embed/v1/ai-apps/revoke" \
-H "Authorization: Bearer $GORUNNER_EMBED_KEY" \
-H "Idempotency-Key: $(uuidgen)"const GORUNNER = "https://automations.example.com";
const KEY = process.env.GORUNNER_EMBED_KEY; // gre_…
const res = await fetch(
`${GORUNNER}/api/embed/v1/ai-apps/revoke`,
{
method: "POST",
headers: {
Authorization: `Bearer ${KEY}`,
"Idempotency-Key": crypto.randomUUID(),
},
},
);
const { data } = await res.json();import os, uuid, requests
GORUNNER = "https://automations.example.com"
KEY = os.environ["GORUNNER_EMBED_KEY"] # gre_…
res = requests.post(
f"{GORUNNER}/api/embed/v1/ai-apps/revoke",
headers={
"Authorization": f"Bearer {KEY}",
"Idempotency-Key": str(uuid.uuid4()),
},
)
data = res.json()["data"]Response · 200 OK
{
"data": {
"revoked": 37
}
}Every field
It takes no body.
Response · 200 OK
dataobjectrevokedintegerHow many connections this call ended.