> For the complete documentation index, see [llms.txt](https://docs.sigrex.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sigrex.io/api-reference/reference/hooks/bot-hooks.md).

# Bot Hooks

## GET /api/v2/webhook/bot

> Get all bot webhooks

```json
{"openapi":"3.0.0","info":{"title":"Sigrex API","version":"2.1.0"},"tags":[{"name":"bot-hook"}],"servers":[{"url":"https://api.sigrex.io"}],"security":[{"ApiKey":[],"Signature":[],"Timestamp":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"api-key","description":"Your public API key"}},"schemas":{}},"paths":{"/api/v2/webhook/bot":{"get":{"summary":"Get all bot webhooks","tags":["bot-hook"],"responses":{"200":{"description":"List of user's bot webhooks","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BotWebhook"}}}}}}}}}}
```

## POST /api/v2/webhook/bot

> Create a new bot webhook

```json
{"openapi":"3.0.0","info":{"title":"Sigrex API","version":"2.1.0"},"tags":[{"name":"bot-hook"}],"servers":[{"url":"https://api.sigrex.io"}],"security":[{"ApiKey":[],"Signature":[],"Timestamp":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"api-key","description":"Your public API key"}},"schemas":{"CreateBotWebhookRequest":{"type":"object","required":[],"properties":{"name":{"type":"string","description":"The name of the bot hook max 255 characters"},"description":{"type":"string","description":"The description of the bot hook max 255 characters"},"is_safe":{"type":"boolean","description":"Set it true if want to set hash key"},"hash_key":{"type":"string","description":"The key of the bot hook"}}},"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/api/v2/webhook/bot":{"post":{"summary":"Create a new bot webhook","tags":["bot-hook"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBotWebhookRequest"}}}},"responses":{"201":{"description":"Bot webhook created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotWebhook"}}}},"400":{"description":"Missing required fields, invalid password, or webhook limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Webhook limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Package not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## GET /api/v2/webhook/bot/{id}

> Get bot webhook by ID

```json
{"openapi":"3.0.0","info":{"title":"Sigrex API","version":"2.1.0"},"tags":[{"name":"bot-hook"}],"servers":[{"url":"https://api.sigrex.io"}],"security":[{"ApiKey":[],"Signature":[],"Timestamp":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"api-key","description":"Your public API key"}},"schemas":{"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/api/v2/webhook/bot/{id}":{"get":{"summary":"Get bot webhook by ID","tags":["bot-hook"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Bot webhook details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotWebhook"}}}},"400":{"description":"Missing webhook id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Bot webhook not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## PUT /api/v2/webhook/bot/{id}

> Update bot webhook

```json
{"openapi":"3.0.0","info":{"title":"Sigrex API","version":"2.1.0"},"tags":[{"name":"bot-hook"}],"servers":[{"url":"https://api.sigrex.io"}],"security":[{"ApiKey":[],"Signature":[],"Timestamp":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"api-key","description":"Your public API key"}},"schemas":{"UpdateBotWebhookRequest":{"type":"object","required":[],"properties":{"name":{"type":"string","description":"The name of the bot hook max 255 characters"},"description":{"type":"string","description":"The description of the bot hook max 255 characters"},"is_safe":{"type":"boolean","description":"Set it true if want to set hash key"},"hash_key":{"type":"string","description":"The key of the bot hook"}}},"SuccessResponse":{"type":"object","properties":{"message":{"type":"string"}}},"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/api/v2/webhook/bot/{id}":{"put":{"summary":"Update bot webhook","tags":["bot-hook"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBotWebhookRequest"}}}},"responses":{"200":{"description":"Bot webhook updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Missing webhook id or invalid password","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Webhook not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## DELETE /api/v2/webhook/bot/{id}

> Delete bot webhook

```json
{"openapi":"3.0.0","info":{"title":"Sigrex API","version":"2.1.0"},"tags":[{"name":"bot-hook"}],"servers":[{"url":"https://api.sigrex.io"}],"security":[{"ApiKey":[],"Signature":[],"Timestamp":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"api-key","description":"Your public API key"}},"schemas":{"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/api/v2/webhook/bot/{id}":{"delete":{"summary":"Delete bot webhook","tags":["bot-hook"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Bot webhook deleted successfully","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"Missing webhook id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Webhook not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Webhook is in use by bots or strategies","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## GET /api/v2/webhook/bot/{id}/shares

> Get webhook shares

```json
{"openapi":"3.0.0","info":{"title":"Sigrex API","version":"2.1.0"},"tags":[{"name":"bot-hook"}],"servers":[{"url":"https://api.sigrex.io"}],"security":[{"ApiKey":[],"Signature":[],"Timestamp":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"api-key","description":"Your public API key"}},"schemas":{"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/api/v2/webhook/bot/{id}/shares":{"get":{"summary":"Get webhook shares","tags":["bot-hook"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"List of webhook shares","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookShare"}}}}},"400":{"description":"Missing webhook id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## POST /api/v2/webhook/bot/share/{id}

> Share webhook with user

```json
{"openapi":"3.0.0","info":{"title":"Sigrex API","version":"2.1.0"},"tags":[{"name":"bot-hook"}],"servers":[{"url":"https://api.sigrex.io"}],"security":[{"ApiKey":[],"Signature":[],"Timestamp":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"api-key","description":"Your public API key"}},"schemas":{"ShareWebhookRequest":{"type":"object","required":["userId"],"properties":{"userId":{"type":"string","description":"The user id of the user to share the webhook with"}}},"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/api/v2/webhook/bot/share/{id}":{"post":{"summary":"Share webhook with user","tags":["bot-hook"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareWebhookRequest"}}}},"responses":{"201":{"description":"Webhook shared successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookShare"}}}},"400":{"description":"Missing webhook/user id, invalid permission, or not friends","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Webhook not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## DELETE /api/v2/webhook/bot/share/{id}

> Remove webhook share

```json
{"openapi":"3.0.0","info":{"title":"Sigrex API","version":"2.1.0"},"tags":[{"name":"bot-hook"}],"servers":[{"url":"https://api.sigrex.io"}],"security":[{"ApiKey":[],"Signature":[],"Timestamp":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"api-key","description":"Your public API key"}},"schemas":{"SuccessResponse":{"type":"object","properties":{"message":{"type":"string"}}},"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/api/v2/webhook/bot/share/{id}":{"delete":{"summary":"Remove webhook share","tags":["bot-hook"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["userId"],"properties":{"userId":{"type":"string","description":"User ID to unshare with"}}}}}},"responses":{"200":{"description":"Share removed successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Missing webhook/user id or not friends","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Webhook not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## GET /api/v2/webhook/bot/bot/signal/{id}/cex

> Get CEX signal bots for webhook

```json
{"openapi":"3.0.0","info":{"title":"Sigrex API","version":"2.1.0"},"tags":[{"name":"bot-hook"}],"servers":[{"url":"https://api.sigrex.io"}],"security":[{"ApiKey":[],"Signature":[],"Timestamp":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"api-key","description":"Your public API key"}},"schemas":{"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/api/v2/webhook/bot/bot/signal/{id}/cex":{"get":{"summary":"Get CEX signal bots for webhook","tags":["bot-hook"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"page","required":true,"schema":{"type":"integer"}},{"in":"query","name":"limit","required":true,"schema":{"type":"integer"},"description":"Page size, max 100 (larger values are capped to 100)"}],"responses":{"200":{"description":"Paginated CEX signal bots","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedSignalBots"}}}},"400":{"description":"Missing webhook id, page, or limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## GET /api/v2/webhook/bot/bot/signal/{id}/dex

> Get DEX signal bots for webhook

```json
{"openapi":"3.0.0","info":{"title":"Sigrex API","version":"2.1.0"},"tags":[{"name":"bot-hook"}],"servers":[{"url":"https://api.sigrex.io"}],"security":[{"ApiKey":[],"Signature":[],"Timestamp":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"api-key","description":"Your public API key"}},"schemas":{"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/api/v2/webhook/bot/bot/signal/{id}/dex":{"get":{"summary":"Get DEX signal bots for webhook","tags":["bot-hook"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}},{"in":"query","name":"page","required":true,"schema":{"type":"integer"}},{"in":"query","name":"limit","required":true,"schema":{"type":"integer"},"description":"Page size, max 100 (larger values are capped to 100)"}],"responses":{"200":{"description":"Paginated DEX signal bots","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedSignalBots"}}}},"400":{"description":"Missing webhook id, page, or limit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## PUT /api/v2/webhook/bot/{id}/status

> Update webhook status

```json
{"openapi":"3.0.0","info":{"title":"Sigrex API","version":"2.1.0"},"tags":[{"name":"bot-hook"}],"servers":[{"url":"https://api.sigrex.io"}],"security":[{"ApiKey":[],"Signature":[],"Timestamp":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"api-key","description":"Your public API key"}},"schemas":{"UpdateStatusRequest":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["ACTIVE","INACTIVE"]}}},"SuccessResponse":{"type":"object","properties":{"message":{"type":"string"}}},"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/api/v2/webhook/bot/{id}/status":{"put":{"summary":"Update webhook status","tags":["bot-hook"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateStatusRequest"}}}},"responses":{"200":{"description":"Status updated successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Missing webhook id, invalid status, or status already set","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Webhook limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Webhook or package not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## GET /api/v2/webhook/bot/shared

> Get all shared webhooks for user

```json
{"openapi":"3.0.0","info":{"title":"Sigrex API","version":"2.1.0"},"tags":[{"name":"bot-hook"}],"servers":[{"url":"https://api.sigrex.io"}],"security":[{"ApiKey":[],"Signature":[],"Timestamp":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"api-key","description":"Your public API key"}},"schemas":{}},"paths":{"/api/v2/webhook/bot/shared":{"get":{"summary":"Get all shared webhooks for user","tags":["bot-hook"],"responses":{"200":{"description":"List of shared webhooks accessible to user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SharedWebhook"}}}}}}}}}}
```

## GET /api/v2/webhook/bot/shared/with/{id}

> Get webhooks shared with specific user

```json
{"openapi":"3.0.0","info":{"title":"Sigrex API","version":"2.1.0"},"tags":[{"name":"bot-hook"}],"servers":[{"url":"https://api.sigrex.io"}],"security":[{"ApiKey":[],"Signature":[],"Timestamp":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"api-key","description":"Your public API key"}},"schemas":{"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/api/v2/webhook/bot/shared/with/{id}":{"get":{"summary":"Get webhooks shared with specific user","tags":["bot-hook"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","description":"User ID to get webhooks shared with"}}],"responses":{"200":{"description":"List of webhooks shared with specified user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SharedWebhook"}}}}},"400":{"description":"Missing user id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Friendship not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## GET /api/v2/webhook/bot/shared/by/{id}

> Get webhooks shared by specific user

```json
{"openapi":"3.0.0","info":{"title":"Sigrex API","version":"2.1.0"},"tags":[{"name":"bot-hook"}],"servers":[{"url":"https://api.sigrex.io"}],"security":[{"ApiKey":[],"Signature":[],"Timestamp":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"api-key","description":"Your public API key"}},"schemas":{"ErrorResponse":{"type":"object","properties":{"error":{"type":"string"}}}}},"paths":{"/api/v2/webhook/bot/shared/by/{id}":{"get":{"summary":"Get webhooks shared by specific user","tags":["bot-hook"],"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string","description":"User ID to get webhooks shared by"}}],"responses":{"200":{"description":"List of webhooks shared by specified user","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SharedWebhook"}}}}},"400":{"description":"Missing user id","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Friendship not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.sigrex.io/api-reference/reference/hooks/bot-hooks.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
