Skip to content

overlane bot revoke

Revoke a bot: it receives nothing more

Updated View as MarkdownOpen in ChatGPTOpen in Claude

Revokes the bot. Events still waiting for it are dropped and its tasks keep their last state. Revoking again changes nothing. Needs a role that manages policy; without a terminal it needs –force.

Usage

overlane bot revoke [bot-id] [--service URL] [--team TENANT_ID] [--dry-run] [--force]

Arguments

Argument Required Description
bot-id no The bot ID from overlane bot list (required)

Flags

Flag Type Required Default Description
--service string no The service address (default: OVERLANE_SERVICE_URL, then the project’s binding, then the hosted service)
--team string no The team (tenant) to act on (default: the one your token belongs to)
--dry-run boolean no Print the requests and file changes this command would make, then stop. Needs no credentials.
--force boolean no Confirm a destructive action when there is no terminal to ask on. Without it, exit 2.

Examples

overlane bot revoke bot_ab12cd34ef --force
overlane bot revoke bot_ab12cd34ef --dry-run

Behavior

  • Effect: destructive (deletes or reverts; needs --force without a terminal).
  • Needs credentials: yes. Uses the network: yes.
  • Supports --dry-run: yes. Accepts --force: yes.
  • Machine-readable description: overlane schema bot revoke.

Result

With --json (the default when stdout is not a terminal) the command prints this JSON Schema’s shape on stdout.

{
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "ok": {
          "type": "boolean",
          "const": true
        },
        "bot": {
          "type": "object",
          "properties": {
            "botId": {
              "type": "string",
              "pattern": "^bot_[A-Za-z0-9]{8,32}$",
              "description": "bot identifier"
            },
            "tenantId": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
              "description": "tenant identifier"
            },
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            },
            "platform": {
              "type": "string",
              "enum": [
                "chatgpt-dots",
                "grok-bot",
                "slack",
                "teams",
                "generic"
              ]
            },
            "webhookUrl": {
              "type": "string",
              "maxLength": 2000
            },
            "keyVersion": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "createdBy": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128
            },
            "createdAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            "revokedAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            }
          },
          "required": [
            "botId",
            "tenantId",
            "name",
            "platform",
            "webhookUrl",
            "keyVersion",
            "createdBy",
            "createdAt"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "ok",
        "bot"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "dryRun": {
          "type": "boolean",
          "const": true
        },
        "service": {
          "type": "string"
        },
        "requests": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "method": {
                "type": "string"
              },
              "path": {
                "type": "string"
              },
              "body": {},
              "note": {
                "type": "string"
              }
            },
            "required": [
              "method",
              "path"
            ],
            "additionalProperties": false
          }
        },
        "commands": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "writes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "path": {
                "type": "string"
              },
              "action": {
                "type": "string",
                "enum": [
                  "write",
                  "append",
                  "delete"
                ]
              },
              "description": {
                "type": "string"
              }
            },
            "required": [
              "path",
              "action",
              "description"
            ],
            "additionalProperties": false
          }
        },
        "notes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "dryRun",
        "requests",
        "commands",
        "writes",
        "notes"
      ],
      "additionalProperties": false
    }
  ]
}

See exit codes for the status the process returns.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close

Overlane Agent

Ask about the docs. Answers are quoted from the pages, with links. This panel cannot change anything.

    Questions are answered in your browser from the docs index. Nothing you type here is stored or sent anywhere.