Generated from the live OpenAPI document — 2026-10-19.This group has no curated guide page.All routes require Authorization: Bearer atamaia_… and return ApiEnvelope<T>({ ok, requestId, data, error, errorCode, count, hint }); the schemas below show thedata payload. * marks required properties.
Operations
| Method | Path | Summary / body | Responses |
|---|---|---|---|
| POST | /api/ai/broadcast | 200 BroadcastResponse | |
| GET | /api/ai/catalog | 200 PagedResultOfAIProviderDto | |
| GET | /api/ai/catalog/{id} | 200 AIProviderDetailDto | |
| POST | /api/ai/chat | 200 ChatResponse | |
| GET | /api/ai/credentials | 200 PagedResultOfTenantProviderCredentialDto | |
| POST | /api/ai/credentials | 200 TenantProviderCredentialDto | |
| DELETE | /api/ai/credentials/{id} | 200 | |
| POST | /api/ai/credentials/{id}/validate | 200 ValidateCredentialResult | |
| GET | /api/ai/model-groups | 200 PagedResultOfAIModelGroupDto | |
| POST | /api/ai/model-groups | 200 AIModelGroupDetailDto | |
| DELETE | /api/ai/model-groups/{id} | 200 | |
| GET | /api/ai/model-groups/{id} | 200 AIModelGroupDetailDto | |
| PATCH | /api/ai/model-groups/{id} | 200 AIModelGroupDetailDto | |
| POST | /api/ai/model-groups/{id}/members | 200 AIModelGroupDetailDto | |
| DELETE | /api/ai/model-groups/{id}/members/{modelId} | 200 AIModelGroupDetailDto | |
| GET | /api/ai/model-groups/by-name/{name} | 200 AIModelGroupDetailDto | |
| GET | /api/ai/models | 200 PagedResultOfAIModelDto | |
| POST | /api/ai/models | 200 AIModelDto | |
| DELETE | /api/ai/models/{id} | 200 | |
| GET | /api/ai/models/{id} | 200 AIModelDto | |
| PATCH | /api/ai/models/{id} | 200 AIModelDto | |
| POST | /api/ai/models/{id}/test | 200 ModelTestResult | |
| GET | /api/ai/models/search | 200 GlobalSearchHit[] | |
| GET | /api/ai/providers | 200 PagedResultOfAIProviderDto | |
| POST | /api/ai/providers | 200 AIProviderDto | |
| DELETE | /api/ai/providers/{id} | 200 | |
| GET | /api/ai/providers/{id} | 200 AIProviderDetailDto | |
| PATCH | /api/ai/providers/{id} | 200 AIProviderDto | |
| GET | /api/ai/providers/{id}/catalog | 200 ProviderCatalogResult | |
| POST | /api/ai/providers/{id}/models/sync | 200 ModelSyncResult | |
| POST | /api/ai/providers/{id}/sync-key | 200 SyncKeyResult | |
| POST | /api/ai/providers/{id}/test | 200 ModelTestResult | |
| GET | /api/ai/providers/search | 200 GlobalSearchHit[] | |
| GET | /api/ai/resolve/{modelId} | 200 AIModelDto | |
| GET | /api/ai/route-policy | 200 RoutePolicyDto | |
| PUT | /api/ai/route-policy | 200 RoutePolicyDto | |
| GET | /api/ai/routes | 200 PagedResultOfAIRouteConfigDto | |
| POST | /api/ai/routes | 200 AIRouteConfigDto | |
| DELETE | /api/ai/routes/{id} | 200 | |
| PATCH | /api/ai/routes/{id} | 200 AIRouteConfigDto | |
| GET | /api/ai/routing-status | 200 RoutingStatusDto | |
| POST | /api/ai/sync-pricing | 200 SyncPricingResult |
Schemas
Request and response shapes referenced by the operations above. Nested types named here are also defined under their own group or inthe group index.
AIModelDto
| Property | Type | Description |
|---|---|---|
| id | int64 | |
| guid | uuid | |
| providerId | int64 | |
| providerName | null,string | |
| providerPrefix | null,string | |
| modelId | string | |
| fullModelId | null,string | |
| displayName | null,string | |
| enabled | boolean | |
| available | boolean | |
| contextLength | int32 | |
| maxCompletionTokens | int32 | |
| isLocal | boolean | |
| approvedForAgent | boolean | |
| approvedForChat | boolean | |
| enableHydration | boolean | |
| hydrationIdentityId | int64 | |
| localModelPath | null,string | |
| isEmbedding | boolean | |
| specDecode | null,string | |
| isLockedDefault | boolean | |
| temperature | float | |
| maxTokens | int32 | |
| topP | float | |
| topK | int32 | |
| minP | float | |
| repeatPenalty | float | |
| frequencyPenalty | float | |
| presencePenalty | float | |
| systemPrompt | null,string | |
| notes | null,string | |
| inputCostPer1M | double | |
| outputCostPer1M | double | |
| cacheReadCostPer1M | double | |
| supportsTools | null,boolean | |
| supportsVision | null,boolean | |
| supportsReasoning | null,boolean | |
| supportsDecisions | null,boolean | |
| reasoningMandatory | null,boolean | |
| reasoningDefaultEnabled | null,boolean | |
| reasoningDefaultEffort | null,string | |
| reasoningSupportedEfforts | null,string | |
| reasoningSupportsMaxTokens | null,boolean | |
| reasoningEffort | null,string | |
| providerType | ProviderType | |
| createdAtUtc | date-time |
AIModelGroupDetailDto
| Property | Type | Description |
|---|---|---|
| members | AIModelGroupMemberDto[] | |
| id | int64 | |
| guid | uuid | |
| name | string | |
| displayName | null,string | |
| description | null,string | |
| enabled | boolean | |
| memberCount | int32 | |
| createdAtUtc | date-time | |
| updatedAtUtc | date-time |
AIProviderDetailDto
| Property | Type | Description |
|---|---|---|
| stripPrefixInRequests | boolean | |
| configJson | null,string | |
| models | AIModelDto[] | |
| id | int64 | |
| guid | uuid | |
| name | string | |
| type | ProviderType | |
| prefix | null,string | |
| baseUrl | null,string | |
| defaultModel | null,string | |
| apiKey | null,string | |
| enabled | boolean | |
| priority | int32 | |
| timeoutSeconds | int32 | |
| modelCount | int32 | |
| createdAtUtc | date-time | |
| isGlobal | boolean | |
| hasCredential | boolean | |
| description | null,string | |
| logoUrl | null,string | |
| docsUrl | null,string | |
| websiteUrl | null,string |
AIProviderDto
| Property | Type | Description |
|---|---|---|
| id | int64 | |
| guid | uuid | |
| name | string | |
| type | ProviderType | |
| prefix | null,string | |
| baseUrl | null,string | |
| defaultModel | null,string | |
| apiKey | null,string | |
| enabled | boolean | |
| priority | int32 | |
| timeoutSeconds | int32 | |
| modelCount | int32 | |
| createdAtUtc | date-time | |
| isGlobal | boolean | |
| hasCredential | boolean | |
| description | null,string | |
| logoUrl | null,string | |
| docsUrl | null,string | |
| websiteUrl | null,string |
AIRouteConfigDto
| Property | Type | Description |
|---|---|---|
| id | int64 | |
| providerId | int64 | |
| providerName | null,string | |
| modelId | int64 | |
| modelDisplayName | null,string | |
| role | string | |
| priority | int32 | |
| isBroken | boolean | |
| brokenReason | null,string | |
| notes | null,string |
BroadcastResponse
| Property | Type | Description |
|---|---|---|
| totalModels | int32 | |
| successCount | int32 | |
| responses | ChatResponse[] | |
| totalTimeMs | int64 |
ChatResponse
| Property | Type | Description |
|---|---|---|
| success | boolean | |
| modelId | string | |
| reply | null,string | |
| error | null,string | |
| usage | null | ChatUsageDto | |
| responseTimeMs | int64 | |
| toolCalls | null,array | |
| reasoningContent | null,string | |
| finishReason | null,string | |
| reasoningEffort | null,string | |
| reasoningEnabled | null,boolean | |
| reasoningSource | null,string | |
| reasoningInjection | null,string |
ModelSyncResult
| Property | Type | Description |
|---|---|---|
| dryRun | boolean | |
| additive | boolean | |
| added | int32 | |
| updated | int32 | |
| deactivated | int32 | |
| restored | int32 | |
| revived | int32 | |
| unchanged | int32 | |
| addedModels | string[] | |
| updatedModels | string[] | |
| deactivatedModels | string[] | |
| restoredModels | string[] | |
| revivedModels | string[] |
ModelTestResult
| Property | Type | Description |
|---|---|---|
| success | boolean | |
| error | null,string | |
| responseTimeMs | int64 | |
| providerName | string | |
| modelId | string | |
| sample | null,string |
PagedResultOfAIModelDto
| Property | Type | Description |
|---|---|---|
| items* | AIModelDto[] | |
| totalCount | int32 | |
| page | int32 | |
| pageSize | int32 | |
| hasTotal | boolean | |
| moreAvailable | null,boolean | |
| totalPages | int32 | |
| hasNextPage | boolean | |
| hasPreviousPage | boolean |
PagedResultOfAIModelGroupDto
| Property | Type | Description |
|---|---|---|
| items* | AIModelGroupDto[] | |
| totalCount | int32 | |
| page | int32 | |
| pageSize | int32 | |
| hasTotal | boolean | |
| moreAvailable | null,boolean | |
| totalPages | int32 | |
| hasNextPage | boolean | |
| hasPreviousPage | boolean |
PagedResultOfAIProviderDto
| Property | Type | Description |
|---|---|---|
| items* | AIProviderDto[] | |
| totalCount | int32 | |
| page | int32 | |
| pageSize | int32 | |
| hasTotal | boolean | |
| moreAvailable | null,boolean | |
| totalPages | int32 | |
| hasNextPage | boolean | |
| hasPreviousPage | boolean |
PagedResultOfAIRouteConfigDto
| Property | Type | Description |
|---|---|---|
| items* | AIRouteConfigDto[] | |
| totalCount | int32 | |
| page | int32 | |
| pageSize | int32 | |
| hasTotal | boolean | |
| moreAvailable | null,boolean | |
| totalPages | int32 | |
| hasNextPage | boolean | |
| hasPreviousPage | boolean |
PagedResultOfTenantProviderCredentialDto
| Property | Type | Description |
|---|---|---|
| items* | TenantProviderCredentialDto[] | |
| totalCount | int32 | |
| page | int32 | |
| pageSize | int32 | |
| hasTotal | boolean | |
| moreAvailable | null,boolean | |
| totalPages | int32 | |
| hasNextPage | boolean | |
| hasPreviousPage | boolean |
ProviderCatalogResult
| Property | Type | Description |
|---|---|---|
| providerId | int64 | |
| providerName | string | |
| providerType | ProviderType | |
| totalAvailable | int32 | |
| inDatabase | int32 | |
| fetchedAtUtc | date-time | |
| models | CatalogModelDto[] |
RoutePolicyDto
| Property | Type | Description |
|---|---|---|
| id | int64 | |
| name | string | |
| mode | RoutePolicyMode | |
| monthlyBudgetUsd | double | |
| budgetAction | BudgetExhaustedAction | |
| enabled | boolean | |
| notes | null,string | |
| monthToDateSpendUsd | double |
RoutingStatusDto
| Property | Type | Description |
|---|---|---|
| windowMinutes | int32 | |
| autoCalls | int32 | |
| autoRefusals | int32 | |
| localShare | double | |
| tiers | RoutingTierStats[] | |
| latency | RoutingModelLatency[] | |
| budgetCapUsd | double | |
| budgetSpentUsd | double | |
| policyMode | null | RoutePolicyMode | |
| budgetAction | null | BudgetExhaustedAction | |
| circuits | RoutingCircuitState[] | |
| recentDecisions | RoutingDecision[] |
SyncKeyResult
| Property | Type | Description |
|---|---|---|
| providerId | int64 | |
| key | string | |
| note | string |
SyncPricingResult
| Property | Type | Description |
|---|---|---|
| scanned | int32 | |
| updated | int32 | |
| truncated | int32 | |
| changes | SyncPricingChange[] |
TenantProviderCredentialDto
| Property | Type | Description |
|---|---|---|
| id | int64 | |
| guid | uuid | |
| providerId | int64 | |
| providerName | string | |
| providerPrefix | null,string | |
| label | null,string | |
| isValidated | boolean | |
| lastValidatedAtUtc | date-time | |
| createdAtUtc | date-time |
ValidateCredentialResult
| Property | Type | Description |
|---|---|---|
| success | boolean | |
| error | null,string |