GoRunner docs
Search or askSearch⌘K

Turn a sign-in request down

Since v2026.10.23

POST/api/embed/v1/oauth-requests/{requestId}/deny

Turns an AI app’s sign-in request down.

Needs a partner key: Authorization: Bearer gre_…, from Platform › Partner keys. Call it from your server only.

Embed · Self-hosted with an Embed license

Parameters

Path

requestIdRequired · string

The request’s ID: the gr_request parameter on the address the person arrived at.

Body

Optional.

reasonOptional · string

cancelled (the default), not_member, not_allowed or role, such as to keep viewers out.

When to turn it down

When the person pressed Cancel, doesn’t belong to the account, or you refuse them. Viewers and operators may connect otherwise, read only and read and run. Once per request; audited embed.oauth.denied.

Responses

  • 200OK

    Send the browser to continueUrl with a 303: the app is told it wasn’t allowed.

  • reason isn’t one of the four.

  • No such request, or it expired.

  • It was already answered. It carries details.continueUrl: send the browser there so the AI app is told.

  • 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_…
REQUEST_ID="q7Kd2mXr9TfL0aZc3vBn8wYe"  # gr_request from the address

URL="$GORUNNER/api/embed/v1/oauth-requests/"
URL="${URL}$REQUEST_ID/deny"
curl -X POST "$URL" \
  -H "Authorization: Bearer $GORUNNER_EMBED_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "reason": "not_member"
  }'

Response · 200 OK

json
{
  "data": {
    "continueUrl": "https://automations.example.com/api/embed/oauth/return?request=q7Kd2mXr9TfL0aZc3vBn8wYe&ticket=…"
  }
}
Every field

Body

reasonOptional · string

One of not_member, not_allowed, role, cancelled. Default cancelled.

Response · 200 OK

dataobject
continueUrlURL