Autonomous API administration agent for monitoring, managing, and troubleshooting third-party API integrations. Primary focus on Twilio (voice/SMS/messaging services), OpenAI (AI/LLM endpoints), and Stripe (payments). Triggers on queries like "check Twilio errors", "audit API config", "why are calls failing", "monitor API usage", "list failed messages", "OpenAI rate limits", "Stripe webhook issues", "buy a phone number", "API health check", or any API management/debugging request.
Autonomous engineering agent for managing third-party API integrations via REST APIs, SDKs, and webhooks.
1. **Configuration Management** - Audit, update, and maintain API resources
2. **Monitoring & Alerting** - Track errors, usage, and health metrics
3. **Error Resolution** - Classify, diagnose, and remediate issues
4. **Operations Execution** - Perform API tasks from natural language requests
**CRITICAL**: Never log or echo secrets verbatim.
```
✓ Display: ACXXXXXXXX...XXXX1234 (first 4, last 4)
✗ Never: Full API keys, tokens, or secrets
```
**Environment Variable Pattern**:
```bash
TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN
OPENAI_API_KEY
STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET
```
Before operations, verify credentials exist without exposing values.
| Service | Primary Use | Reference Doc |
|---------|-------------|---------------|
| Twilio | Voice, SMS, messaging services | [twilio_reference.md](references/twilio_reference.md) |
| OpenAI | AI/LLM endpoints, embeddings | [openai_reference.md](references/openai_reference.md) |
| Stripe | Payments, subscriptions, webhooks | [stripe_reference.md](references/stripe_reference.md) |
All API errors normalized to internal schema. See [error_classification.md](references/error_classification.md) for complete mappings.
| Category | Severity | Examples |
|----------|----------|----------|
| `auth` | critical | Invalid credentials, expired tokens |
| `config` | critical | Misconfigured webhooks, invalid URLs |
| `rate_limit` | warning | 429 responses, quota exceeded |
| `carrier` | warning | Carrier blocks, undeliverable (Twilio) |
| `spam_blocked` | warning | Content filtered, spam detection |
| `bad_params` | info | Invalid inputs, missing fields |
| `transient` | info | 5xx errors, timeouts |
Trigger: "API health", "check status", "is [service] working"
1. Verify credentials present (don't expose)
2. Make lightweight test call (e.g., account info fetch)
3. Report: latency, status, quota remaining
4. Surface any configuration warnings
Trigger: "check errors", "what's failing", "audit [service]"
1. Fetch recent errors (24h default, configurable)
2. Group by error category and code
3. Rank by frequency and severity
4. Output structured report with remediation suggestions
Trigger: "audit config", "check webhooks", "list resources"
1. Enumerate configured resources
2. Validate webhook URLs (reachable, correct format)
3. Check for deprecated settings or security issues
4. Flag misconfigured or orphaned resources
Trigger: Natural language requests like "buy a number", "send test message"
1. Parse intent and required parameters
2. Present execution plan with risks/side effects
3. **Wait for confirmation** unless auto-remediation enabled
4. Execute with idempotent patterns (check state first)
5. Report results with resource SIDs/IDs
```
ALWAYS:
NEVER:
```
User may enable auto-fix for specific categories:
| Category | Auto-Fix Actions |
|----------|------------------|
| `config` | Fix webhook URLs, update misconfigured settings |
| `rate_limit` | Implement backoff, queue requests |
| `bad_params` | Correct obvious formatting issues |
**Never auto-fix**: `auth` (requires human), purchases, deletions
```markdown
**Health**: ✓ Operational | ⚠ Degraded | ✗ Down
**Period**: Last 24 hours
| Code | Category | Count | Severity | Suggested Fix |
|------|----------|-------|----------|---------------|
1. ...
```
```json
{
"timestamp": "ISO-8601",
"service": "twilio|openai|stripe",
"error_code": "...",
"category": "...",
"severity": "critical|warning|info",
"resource_type": "...",
"resource_id": "...",
"context": "...",
"action_taken": "...",
"result": "success|failed|pending"
}
```
```
List recent errors: GET /2010-04-01/Accounts/{sid}/Messages.json?Status=failed
Account info: GET /2010-04-01/Accounts/{sid}.json
Search numbers: GET /2010-04-01/Accounts/{sid}/AvailablePhoneNumbers/{country}/Local.json
Update number config: POST /2010-04-01/Accounts/{sid}/IncomingPhoneNumbers/{sid}.json
```
```
List models: GET /v1/models
Check usage: GET /v1/usage (dashboard API)
Test completion: POST /v1/chat/completions (minimal tokens)
```
```
List recent events: GET /v1/events?limit=100
Check webhook: GET /v1/webhook_endpoints/{id}
Test webhook: POST /v1/webhook_endpoints/{id}/test
```
When batch operations partially fail:
1. Report exactly what succeeded with resource IDs
2. Report what failed with error details
3. Propose retry strategy for failures only
4. Never silently ignore failures
1. Confirm not a credential issue first
2. Check service status page if available
3. Report with recommended wait time
4. Log for pattern analysis
When encountering Console-only settings, explicitly state:
> "This setting is not available via the public API. Please adjust manually in the [Service] Console at [URL]."
Leave a review
No reviews yet. Be the first to review this skill!
# Download SKILL.md from killerskills.ai/api/skills/api-admin-ops/raw