Aiden APIs
Authentication
Aiden API uses API key authentication. API keys are in the format aiden-<key> and should be included in the Authorization header.
Authorization: Bearer aiden-<key>API keys can be managed through the API Keys page. Each API key is associated with a specific user and customer.
API Endpoints
All APIs are available under https://aiden.opsverse.io/api/
Ask
POST /v1/ask
Send a question to Aiden and receive a streaming response.
POST /v1/askRequest Body:
{
"query": "string",
"conversationId": "uuid" (optional)
}Response: A streaming response that contains a JSON object with the following fields:
{
"response": "string",
"skill": {
"id": "string",
"name": "string"
},
"conversationId": "string",
"interactionId": "string"
}Example:
curl -X POST "https://aiden.opsverse.io/api/v1/ask" \
-H "Authorization: Bearer aiden-<your_api_key>" \
-H "Content-Type: application/json" \
-d '{
"query": "What is the current CPU usage of my EC2 instances?"
}'Skills
GET /v1/skills
Returns a list of all skills available to the authenticated user.
GET /v1/skillsQuery Parameters:
- include_global: boolean (optional) - Whether to include global skills
- include_disabled: boolean (optional) - Whether to include disabled skills
Response:
{
"skills": [
{
"id": "uuid",
"name": "string",
"description": "string",
"skill_steps": [
{
"agent": "string",
"action": "string",
"parameters": [{}]
}
],
"is_enabled": "boolean",
"is_global": "boolean",
"created_at": "datetime",
"updated_at": "datetime"
}
]
}Example:
curl -X GET "https://aiden.opsverse.io/api/v1/skills?include_global=true" \
-H "Authorization: Bearer aiden-<your_api_key>"Get v1/skills/{id}
Returns details of a specific skill.
GET /v1/skills/{id}Parameters:
- id: UUID of the skill
Response:
{
"id": "uuid",
"name": "string",
"description": "string",
"skill_steps": [
{
"agent": "string",
"action": "string",
"parameters": [{}]
}
],
"is_enabled": "boolean",
"is_global": "boolean",
"created_at": "datetime",
"updated_at": "datetime"
}Example:
curl -X GET "https://aiden.opsverse.io/api/v1/skills/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer aiden-<your_api_key>"POST /v1/skills
Creates a new skill.
POST /v1/skillsRequest Body:
{
"name": "string",
"description": "string",
"skill_steps": [
{
"agent": "string",
"action": "string",
"parameters": [{}]
}
],
"is_global": "boolean" (optional)
}Response:
{
"id": "uuid",
"name": "string",
"description": "string",
"skill_steps": [
{
"agent": "string",
"action": "string",
"parameters": [{}]
}
],
"is_enabled": "boolean",
"is_global": "boolean",
"created_at": "datetime",
"updated_at": "datetime"
}Example:
curl -X POST "https://aiden.opsverse.io/api/v1/skills" \
-H "Authorization: Bearer aiden-<your_api_key>" \
-H "Content-Type: application/json" \
-d '{
"name": "AWS EC2 Instance Analyzer",
"description": "Analyzes EC2 instances for performance and cost optimization",
"skill_steps": [
{
"agent": "AWS Expert",
"action": "Fetch all EC2 instances and their details",
"parameters": [{}]
},
{
"agent": "AWS Expert",
"action": "Analyze instances for optimization opportunities",
"parameters": [{}]
}
]
}'PATHCH /v1/skills/{id}
Updates an existing skill.
PATCH /v1/skills/{id}Parameters:
- id: UUID of the skill
Request Body:
{
"name": "string" (optional),
"description": "string" (optional),
"skill_steps": [
{
"agent": "string",
"action": "string",
"parameters": [{}]
}
] (optional),
"is_enabled": "boolean" (optional),
"is_global": "boolean" (optional)
}Response:
{
"id": "uuid",
"name": "string",
"description": "string",
"skill_steps": [
{
"agent": "string",
"action": "string",
"parameters": [{}]
}
],
"is_enabled": "boolean",
"is_global": "boolean",
"created_at": "datetime",
"updated_at": "datetime"
}Example:
curl -X PATCH "https://aiden.opsverse.io/api/v1/skills/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer aiden-<your_api_key>" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated AWS EC2 Instance Analyzer",
"is_enabled": true
}'DELETE /v1/skills/{id}
Deletes a skill.
DELETE /v1/skills/{id}Parameters:
- id: UUID of the skill
Response:
{
"status": "OK"
}Example:
curl -X DELETE "https://aiden.opsverse.io/api/v1/skills/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer aiden-<your_api_key>"Integrations
GET /v1/integrations
Returns a list of all available integrations and currently configured integrations for the authenticated user's organization.
GET /v1/integrationsResponse:
{
"integrations": [
{
"name": "string",
"description": "string",
"is_enabled": "boolean",
"allow_multiple": "boolean",
"is_global": "boolean",
"icon": "string"
}
],
"configurations": [
{
"id": "uuid",
"integration_type": "string",
"parameters": "string",
"is_enabled": "boolean"
}
]
}Example:
curl -X GET "https://aiden.opsverse.io/api/v1/integrations" \
-H "Authorization: Bearer aiden-<your_api_key>"GET /v1/integrations/{id}
Returns details of a specific integration configuration.
GET /v1/integrations/{id}Parameters:
- id: UUID of the integration configuration
Response:
{
"id": "uuid",
"integration_type": "string",
"parameters": "string",
"is_enabled": "boolean"
}Example:
curl -X GET "https://aiden.opsverse.io/api/v1/integrations/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer aiden-<your_api_key>"POST /v1/integrations
Creates a new integration configuration.
POST /v1/integrationsRequest Body:
{
"integration_type": "string",
"parameters": "object",
"create_prebuilt_skills": "boolean"
}Response:
{
"id": "uuid",
"integration_type": "string",
"parameters": "object",
"is_enabled": "boolean"
}Example:
curl -X POST "https://aiden.opsverse.io/api/v1/integrations" \
-H "Authorization: Bearer aiden-<your_api_key>" \
-H "Content-Type: application/json" \
-d '{
"integration_type": "AWS",
"parameters": {
"aws_access_key_id": "your_access_key",
"aws_secret_access_key": "your_secret_key",
"aws_region": "us-west-2"
},
"create_prebuilt_skills": true
}'PATCH /v1/integrations/{id}
Updates an existing integration configuration.
PATCH /v1/integrations/{id}Parameters:
- id: UUID of the integration configuration
Request Body:
{
"parameters": "object" (optional),
"is_enabled": "boolean" (optional)
}Response:
{
"id": "uuid",
"integration_type": "string",
"parameters": "object",
"is_enabled": "boolean"
}Example:
curl -X PATCH "https://aiden.opsverse.io/api/v1/integrations/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer aiden-<your_api_key>" \
-H "Content-Type: application/json" \
-d '{
"parameters": {
"aws_access_key_id": "updated_access_key",
"aws_secret_access_key": "updated_secret_key",
"aws_region": "us-east-1"
},
"is_enabled": true
}'Delete Integration
DELETE /api/v1/integrations/{id}Deletes an integration configuration.
Parameters:
- id: UUID of the integration configuration
Response:
{
"status": "OK"
}Example:
curl -X DELETE "https://aiden.opsverse.io/api/v1/integrations/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer aiden-<your_api_key>"Knowledge Base
The Knowledge Base API allows you to manage contextual information that Aiden can use to provide more personalized and relevant responses.
GET /v1/context
Returns the knowledge base context for the authenticated user's organization.
GET /v1/contextResponse:
{
"baseContext": "string"
}Example:
curl -X GET "https://aiden.opsverse.io/api/v1/context" \
-H "Authorization: Bearer aiden-<your_api_key>"POST /v1/context
Creates or updates the knowledge base context for the authenticated user's organization. This endpoint automatically processes the context into embeddings for semantic search.
POST /v1/contextRequest Body:
{
"baseContext": "string"
}Response:
{
"status": "OK"
}Example:
curl -X POST "https://aiden.opsverse.io/api/v1/context" \
-H "Authorization: Bearer aiden-<your_api_key>" \
-H "Content-Type: application/json" \
-d '{
"baseContext": "This is important knowledge for Aiden to use when answering questions. Our organization uses AWS EC2 instances in us-west-2 region primarily for web applications, and RDS for PostgreSQL databases."
}'