Common Issues
| Field | Value |
|---|---|
| Document ID | ASCEND-HELP-002 |
| Version | 1.0.0 |
| Last Updated | December 19, 2025 |
| Author | Ascend Engineering Team |
| Publisher | OW-KAI Technologies Inc. |
| Classification | Enterprise Client Documentation |
| Compliance | SOC 2 CC6.1/CC6.2, PCI-DSS 7.1/8.3, HIPAA 164.312, NIST 800-53 AC-2/SI-4 |
Reading Time: 10 minutes | Skill Level: All Levels
Authentication Issues
"Invalid API Key" Error
Symptoms:
{
"error": {
"code": "INVALID_API_KEY",
"message": "The provided API key is invalid or expired"
}
}
Solutions:
- Verify key format - Keys should start with
owkai_
# Correct
X-API-Key: owkai_admin_abc123...
# Incorrect
X-API-Key: abc123...
Authorization: owkai_admin_abc123...
- Check key status
curl "https://pilot.owkai.app/api/keys/verify" \
-H "X-API-Key: owkai_..."
- Generate new key if expired
curl -X POST "https://pilot.owkai.app/api/keys/generate" \
-H "Authorization: Bearer <jwt_token>" \
-d '{"name": "New Key", "role": "admin"}'
"Token Expired" Error
Symptoms:
{
"error": {
"code": "EXPIRED_TOKEN",
"message": "JWT token has expired"
}
}
Solutions:
- Refresh token
curl -X POST "https://pilot.owkai.app/api/auth/refresh" \
-H "Content-Type: application/json" \
-d '{"refresh_token": "your_refresh_token"}'
- Re-authenticate if refresh fails
curl -X POST "https://pilot.owkai.app/api/auth/login" \
-H "Content-Type: application/json" \
-d '{"email": "user@company.com", "password": "..."}'
MFA Issues
Problem: MFA code rejected
Solutions:
- Check time sync - TOTP requires synchronized clocks
- Wait for next code - Codes expire every 30 seconds
- Use backup code if available
- Contact admin to reset MFA
Agent Issues
"Agent Not Found" Error
Symptoms:
{
"error": {
"code": "AGENT_NOT_FOUND",
"message": "Agent 'my-agent' is not registered"
}
}
Solutions:
- Register the agent first
curl -X POST "https://pilot.owkai.app/api/agents/register" \
-H "X-API-Key: owkai_..." \
-d '{
"agent_id": "my-agent",
"agent_type": "custom"
}'
- Check agent ID - IDs are case-sensitive
# Correct
"agent_id": "my-agent"
# Wrong (uppercase)
"agent_id": "My-Agent"
Agent "Killed" Status
Symptoms: Actions rejected with "Agent is killed"
Solutions:
- Check agent status
curl "https://pilot.owkai.app/api/agents/my-agent" \
-H "X-API-Key: owkai_..."
- Reactivate if appropriate
curl -X POST "https://pilot.owkai.app/api/agents/my-agent/reactivate" \
-H "Authorization: Bearer <admin_jwt>" \
-d '{"reason": "Investigation complete"}'
Agent Health "Unhealthy"
Problem: Agent showing unhealthy status
Solutions:
- Send heartbeat
curl -X POST "https://pilot.owkai.app/api/agents/my-agent/heartbeat" \
-H "X-API-Key: owkai_..." \
-d '{"status": "healthy"}'
- Check heartbeat interval - Default is every 5 minutes
- Review agent logs for errors
Action Issues
Actions Always Denied
Problem: All actions being denied
Check:
- Risk score thresholds
curl "https://pilot.owkai.app/api/risk-config" \
-H "Authorization: Bearer <admin_jwt>"
- Smart rules - May have overly broad deny rule
curl "https://pilot.owkai.app/api/smart-rules?action=DENY" \
-H "Authorization: Bearer <admin_jwt>"
- Agent trust level - Sandbox agents have limited auto-approve
Actions Stuck in "Pending"
Problem: Actions not being approved
Solutions:
- Check approval queue
curl "https://pilot.owkai.app/api/governance/pending" \
-H "Authorization: Bearer <jwt_token>"
-
Check approver availability - Ensure approvers are active
-
Check timeout settings
curl "https://pilot.owkai.app/api/governance/approval-levels" \
-H "Authorization: Bearer <admin_jwt>"
- Configure escalation if approvers unavailable
High Latency on Actions
Problem: Action submission taking too long
Solutions:
- Check system status
curl "https://pilot.owkai.app/api/health" \
-H "X-API-Key: owkai_..."
-
Reduce payload size - Large parameters increase latency
-
Use async submission for non-blocking
result = client.submit_action(..., wait_for_approval=False)
# Poll for result later
status = client.get_action_status(result.action_id)
API Issues
Rate Limit Exceeded
Symptoms:
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded. Retry after 45 seconds"
}
}
Solutions:
- Implement backoff
import time
if response.status_code == 429:
retry_after = int(response.headers.get('Retry-After', 60))
time.sleep(retry_after)
- Check current usage
curl "https://pilot.owkai.app/api/rate-limits/status" \
-H "X-API-Key: owkai_..."
- Use bulk operations when possible
Connection Timeout
Problem: Requests timing out
Solutions:
- Increase timeout
import requests
response = requests.post(url, timeout=60) # 60 seconds
-
Check network - Verify connectivity to pilot.owkai.app
-
Use regional endpoint if available
SSL Certificate Errors
Problem: SSL verification failing
Solutions:
- Update CA certificates
pip install --upgrade certifi
-
Check system time - Certificate validation requires correct time
-
Don't disable SSL - Never use
verify=Falsein production
Webhook Issues
Webhooks Not Receiving Events
Problem: Webhook endpoint not receiving notifications
Check:
- Webhook status
curl "https://pilot.owkai.app/api/webhooks" \
-H "Authorization: Bearer <admin_jwt>"
- Test webhook
curl -X POST "https://pilot.owkai.app/api/webhooks/{id}/test" \
-H "Authorization: Bearer <admin_jwt>"
-
Check subscribed events - Ensure correct events subscribed
-
Check DLQ for failed deliveries
curl "https://pilot.owkai.app/api/webhooks/{id}/dlq" \
-H "Authorization: Bearer <admin_jwt>"
Webhook Signature Validation Failing
Problem: HMAC signature doesn't match
Solutions:
- Use raw request body - Don't parse before verification
# Correct
body = request.get_data()
signature = hmac.new(secret, body, sha256).hexdigest()
# Wrong
body = request.get_json() # This modifies the body
-
Check secret - Ensure using correct webhook secret
-
Check encoding - Body should be UTF-8
SSO Issues
SAML Authentication Failing
Problem: SAML login not working
Check:
- Certificate expiration
curl "https://pilot.owkai.app/api/sso/saml/company.com/status" \
-H "Authorization: Bearer <admin_jwt>"
-
Clock skew - Servers must be time-synced
-
Attribute mapping - Ensure email attribute is mapped
Users Not Provisioned
Problem: SSO users can't access after login
Check:
- JIT provisioning enabled
curl "https://pilot.owkai.app/api/sso/company.com/jit" \
-H "Authorization: Bearer <admin_jwt>"
-
Default role configured
-
Domain allowlist - User domain must be allowed
Debugging Tools
Enable Debug Logging
# SDK
export ASCEND_LOG_LEVEL=DEBUG
# Python
import logging
logging.getLogger('ascend').setLevel(logging.DEBUG)
Get Request ID
Every response includes a request ID:
X-Request-ID: req_xyz789
Include this when contacting support.
Check System Status
curl "https://status.owkai.app/api/status"
Getting Help
If issues persist:
-
Gather information:
- Request ID
- Error message
- Timestamp
- Steps to reproduce
-
Check documentation:
-
Contact support:
- Email: support@owkai.app
- Portal: support.owkai.app
Document Version: 1.0.0 | Last Updated: December 2025