Veins (Stateless API Connectors)
Veins are stateless connectors to external APIs. They handle authentication and provide a clean interface for the rest of the application.
Jira
View FullConnect to Jira Cloud for issue tracking.
Capabilities
- Get/create/update issues
- JQL search
- Transition issues between statuses
- List projects
Auth
API Token (Basic Auth with email + token)
Slack
View FullSend messages and interact with Slack workspaces.
Capabilities
- Post messages to channels
- List channels and users
- Upload files
- Webhook integration
Auth
Bot Token (Bearer)
Access Google Sheets, Calendar, Drive via OAuth 2.0.
Capabilities
- Read/write Sheets
- Calendar events
- Drive file access
Auth
OAuth 2.0 with refresh tokens
Shunts (Mock Connectors)
Shunts are fake connectors for testing. They mimic real APIs but let you control the responses. Perfect for testing payment flows, webhook handling, and integration scenarios without needing real credentials.
MercadoPago Shunt
View FullMock MercadoPago payment API for testing payment flows.
Features
- Fake payment creation
- Configurable responses (approved/pending/rejected)
- Webhook callbacks
- Config UI to set next response
Use Case
Test checkout flows without real payments. Set the shunt to return "approved" or "rejected" and verify your app handles each case.
Vein Pattern
Structure
- artery/veins/{name}/
- __init__.py (exports)
- client.py (API client)
- models.py (types)
- templates/ (test UI)
Base Class
- Extends artery/veins/base.py
- Common auth handling
- Request/response logging
- Error handling
OAuth
- artery/oauth.py
- Token storage
- Refresh flow
- Callback handling
Config
- cfg/{room}/data/veins.json
- Per-room credentials
- Enable/disable veins