Integrations API
Manage integrations for notifications and external services.
Supported Integration Types
| Type | Description |
|---|---|
discord | Discord webhook notifications |
slack | Slack workspace integration |
telegram | Telegram bot messaging |
sendgrid | Email via SendGrid |
resend | Email via Resend |
safe | Safe multisig API integration |
webhook | Custom HTTP webhooks |
web3 | Web3 wallet connections |
ai-gateway | AI service integrations |
List Integrations
GET /api/integrationsQuery Parameters
| Parameter | Type | Description |
|---|---|---|
type | string | Filter by integration type |
Response
{
"data": [
{
"id": "int_123",
"name": "My Discord",
"type": "discord",
"isManaged": false,
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-01T00:00:00Z"
}
]
}Note: Integration config is excluded from list responses for security.
Get Integration
GET /api/integrations/{integrationId}Returns full integration details including configuration.
Create Integration
POST /api/integrationsRequest Body
{
"name": "My Slack Integration",
"type": "slack",
"config": {
"webhookUrl": "https://hooks.slack.com/..."
}
}Update Integration
PUT /api/integrations/{integrationId}Request Body
{
"name": "Updated Name",
"config": {
"webhookUrl": "https://new-webhook-url..."
}
}Delete Integration
DELETE /api/integrations/{integrationId}Test Integration
POST /api/integrations/{integrationId}/testTests the integration credentials and connectivity.
Request Body (Optional)
{
"configOverrides": {
"webhookUrl": "https://test-webhook-url..."
}
}The configOverrides field allows testing with temporary configuration values without modifying the saved integration.
Response
{
"status": "success",
"message": "Integration test successful"
}