The AI Fabrix Miso API provides programmatic access to the AI Fabrix platform, enabling you to manage applications, deployments, environments, and monitoring through RESTful endpoints. This API is designed for developers who need to integrate AI Fabrix functionality into their workflows.
All API endpoints are relative to your Miso instance:
https://your-miso-instance.com/api
AI Fabrix uses OpenID Connect (OIDC) for secure authentication. You’ll need to obtain an access token before making API calls.
curl -X POST "https://your-miso-instance.com/auth/token" \
-H "Content-Type: application/json" \
-d '{
"client_id": "your-client-id",
"client_secret": "your-client-secret",
"grant_type": "client_credentials",
"scope": "api"
}'
Include the access token in the Authorization header for all API requests:
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
"https://your-miso-instance.com/api/applications"
For the complete API documentation with all endpoints, request/response schemas, and examples, see our interactive OpenAPI specification:
The OpenAPI documentation provides:
The Miso API is organized into the following main areas:
The AI Fabrix SDK provides a convenient way to interact with the API:
import { AIFabrixClient } from 'aifabrix-miso-sdk';
const client = new AIFabrixClient({
baseUrl: 'https://your-miso-instance.com',
clientId: 'your-client-id',
clientSecret: 'your-client-secret'
});
// List applications
const applications = await client.applications.list();
// Deploy application
const deployment = await client.applications.deploy('my-app', {
image: 'myapp:latest',
environment: 'dev'
});
Download the SDK for your preferred language from the OpenAPI documentation:
aifabrix-miso-sdkaifabrix-miso-pythonaifabrix-miso-dotnetaifabrix-miso-java# Get access token
TOKEN=$(curl -s -X POST "https://your-miso-instance.com/auth/token" \
-H "Content-Type: application/json" \
-d '{
"client_id": "your-client-id",
"client_secret": "your-client-secret",
"grant_type": "client_credentials",
"scope": "api"
}' | jq -r '.access_token')
# Create application
curl -X POST "https://your-miso-instance.com/api/applications" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"key": "my-app",
"displayName": "My Application",
"type": "webapp",
"image": "myapp:latest",
"port": 3000
}'
# Check application health
curl -H "Authorization: Bearer $TOKEN" \
"https://your-miso-instance.com/api/applications/my-app/health"
# Get recent logs
curl -H "Authorization: Bearer $TOKEN" \
"https://your-miso-instance.com/api/applications/my-app/logs?limit=50"
All API errors follow a consistent format:
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid request data",
"details": [
{
"field": "displayName",
"message": "Display name is required"
}
],
"timestamp": "2024-01-01T12:00:00Z",
"requestId": "req-123456"
}
}
| Code | Description | HTTP Status |
|---|---|---|
VALIDATION_ERROR |
Request validation failed | 400 |
UNAUTHORIZED |
Authentication required | 401 |
FORBIDDEN |
Insufficient permissions | 403 |
NOT_FOUND |
Resource not found | 404 |
CONFLICT |
Resource conflict | 409 |
INTERNAL_ERROR |
Server error | 500 |
API requests are rate-limited to ensure fair usage:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 950
X-RateLimit-Reset: 1640995200
Ready to get started? Visit our OpenAPI Documentation to explore the complete API reference and start building with AI Fabrix.
Contact us and we’ll get back to you as soon as possible.
Submit a Request