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-runBehavior
- Effect:
destructive(deletes or reverts; needs--forcewithout 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.