Model Configurations API
Model Configurations combine a model definition with a credential and optional default parameters to create a ready-to-use model for workflow prompt entities.
Endpoints
| Operation | Method | Endpoint |
|---|---|---|
| List Configurations | GET | /api/model-configurations |
| Create Configuration | POST | /api/model-configurations |
| Get Configuration | GET | /api/model-configurations/{id} |
| Update Configuration | PUT | /api/model-configurations/{id} |
| Delete Configuration | DELETE | /api/model-configurations/{id} |
List Configurations
GET /api/model-configurations?organizationId={id}&includeSystem=true
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
organizationId | UUID | — | Filter by organization |
scope | string | — | system or organization |
includeSystem | string | false | Include system-level configs alongside org configs |
visibleOnly | string | true | Only return visible configurations |
category | string | — | Filter by model category (e.g., chat) |
Response
{
"data": [
{
"id": "config-uuid-1",
"scope": "organization",
"organizationId": "org-uuid",
"name": "GPT-4o Production",
"description": "Primary model for content generation",
"defaultTemperature": 0.7,
"defaultMaxTokens": 4096,
"defaultTimeout": 30000,
"isVisible": true,
"isDefault": true,
"priority": 1,
"modelDefinition": {
"id": "def-uuid",
"slug": "gpt-4o",
"displayName": "GPT-4o",
"modelId": "gpt-4o",
"category": "chat",
"tier": "premium",
"supportsVision": true,
"provider": {
"slug": "openai",
"name": "OpenAI"
}
},
"credential": {
"id": "cred-uuid",
"name": "Production OpenAI Key",
"hasApiKey": true,
"provider": {
"slug": "openai",
"name": "OpenAI"
}
},
"createdAt": "2026-02-01T10:00:00Z",
"updatedAt": "2026-03-20T14:30:00Z"
}
]
}
Create Configuration
POST /api/model-configurations
Content-Type: application/json
{
"scope": "organization",
"organizationId": "org-uuid",
"modelDefinitionId": "def-uuid",
"credentialId": "cred-uuid",
"name": "GPT-4o Production",
"description": "Primary model for content generation",
"defaultTemperature": 0.7,
"defaultMaxTokens": 4096,
"isVisible": true,
"isDefault": true,
"priority": 1
}
Required Fields
| Field | Type | Description |
|---|---|---|
scope | string | system or organization |
modelDefinitionId | UUID | Which model to use |
credentialId | UUID | Which credential to authenticate with |
name | string | Display name |
Optional Fields
| Field | Type | Default | Description |
|---|---|---|---|
organizationId | UUID | — | Required if scope is organization |
description | string | — | Description |
baseUrlOverride | string | — | Override provider's default base URL |
defaultTemperature | number | — | Default sampling temperature |
defaultMaxTokens | integer | — | Default max response tokens |
defaultTimeout | integer | — | Default request timeout (ms) |
isVisible | boolean | true | Show in model selectors |
isDefault | boolean | false | Default selection for new entities |
priority | integer | 0 | Sort order (lower = higher priority) |
fallbackConfigId | UUID | — | Configuration to use if this one fails |
curl Examples
# List configs for an org (including system ones)
curl -X GET "https://console.rocketwavelabs.io/api/model-configurations?organizationId=ORG_ID&includeSystem=true" \
-H "Authorization: Bearer YOUR_SERVICE_TOKEN"
# Create a configuration
curl -X POST "https://console.rocketwavelabs.io/api/model-configurations" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_SERVICE_TOKEN" \
-d '{
"scope": "organization",
"organizationId": "ORG_ID",
"modelDefinitionId": "DEF_ID",
"credentialId": "CRED_ID",
"name": "Claude 3.5 Sonnet",
"defaultTemperature": 0.5,
"defaultMaxTokens": 8192
}'
JavaScript Examples
// List all available configurations for model selection
const response = await fetch(
`/api/model-configurations?organizationId=${orgId}&includeSystem=true`
);
const { data: configs } = await response.json();
// Group by provider
const byProvider = configs.reduce((acc, config) => {
const provider = config.modelDefinition?.provider?.name || 'Unknown';
(acc[provider] = acc[provider] || []).push(config);
return acc;
}, {});
Related Topics
- Model Providers API — Available providers and definitions
- Model Credentials API — Manage credentials
- Model Entity — Using models in workflow entities
- Settings - Universal Model System — UI documentation