Common Issues
| Field | Value |
|---|---|
| Document ID | ASCEND-HELP-002 |
| Version | 2026.04 |
| Last Updated | April 2026 |
| 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
Check the ASCEND status page and verify your API key is active before debugging further. Expired or revoked keys are the most common cause of authentication failures.
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: 2026.04 | Last Updated: April 2026