API referencePlatform API
GUIDE & REFERENCE

Platform schema reference

Exact field types, validation constraints, enum values, and response structures referenced by platform routes.

These definitions preserve the source contract, including legacy compatibility values. They do not make every legacy tier, provider, or feature a current Minds product offering. Current packaging and runtime requirements take precedence over descriptive source comments. Use the endpoint catalog to find which schema a route actually validates.

minds-ui/apps/api-service/types/analytics.ts

AnalyticsMetricType

AnalyticsMetricType = z.enum([
  'requests',
  'storage',
  'compute',
  'vector_searches',
  'graph_queries',
  'hrm_inferences',
  'api_keys',
  'users',
  'tenants',
  'organizations',
  'billing',
  'errors',
])

Source: minds-ui/apps/api-service/types/analytics.ts:7.

AnalyticsMetricType

export type AnalyticsMetricType = z.infer<typeof AnalyticsMetricType>

Source: minds-ui/apps/api-service/types/analytics.ts:22.

AnalyticsTimePeriod

AnalyticsTimePeriod = z.enum([
  '1h',
  '24h',
  '7d',
  '30d',
  '90d',
  '1y',
])

Source: minds-ui/apps/api-service/types/analytics.ts:28.

AnalyticsTimePeriod

export type AnalyticsTimePeriod = z.infer<typeof AnalyticsTimePeriod>

Source: minds-ui/apps/api-service/types/analytics.ts:37.

AnalyticsAggregationType

AnalyticsAggregationType = z.enum([
  'sum',
  'avg',
  'min',
  'max',
  'count',
  'p95',
  'p99',
])

Source: minds-ui/apps/api-service/types/analytics.ts:43.

AnalyticsAggregationType

export type AnalyticsAggregationType = z.infer<typeof AnalyticsAggregationType>

Source: minds-ui/apps/api-service/types/analytics.ts:53.

AnalyticsDataPoint

AnalyticsDataPoint = z.object({
  timestamp: z.string().datetime(),
  value: z.number(),
  metadata: z.record(z.unknown()).optional(),
})

Source: minds-ui/apps/api-service/types/analytics.ts:59.

AnalyticsDataPoint

export type AnalyticsDataPoint = z.infer<typeof AnalyticsDataPoint>

Source: minds-ui/apps/api-service/types/analytics.ts:65.

AnalyticsMetric

AnalyticsMetric = z.object({
  name: z.string(),
  type: AnalyticsMetricType,
  aggregation: AnalyticsAggregationType,
  data_points: z.array(AnalyticsDataPoint),
  total: z.number().optional(),
  average: z.number().optional(),
  min: z.number().optional(),
  max: z.number().optional(),
})

Source: minds-ui/apps/api-service/types/analytics.ts:71.

AnalyticsMetric

export type AnalyticsMetric = z.infer<typeof AnalyticsMetric>

Source: minds-ui/apps/api-service/types/analytics.ts:82.

AnalyticsQuery

AnalyticsQuery = z.object({
  tenant_id: z.string().optional(),
  organization_id: z.string().optional(),
  metric_types: z.array(AnalyticsMetricType).optional(),
  period: AnalyticsTimePeriod.optional().default('24h'),
  aggregation: AnalyticsAggregationType.optional().default('sum'),
  start_date: z.string().datetime().optional(),
  end_date: z.string().datetime().optional(),
  group_by: z.array(z.string()).optional(),
  limit: z.coerce.number().int().min(1).max(1000).default(100),
})

Source: minds-ui/apps/api-service/types/analytics.ts:88.

AnalyticsQuery

export type AnalyticsQuery = z.infer<typeof AnalyticsQuery>

Source: minds-ui/apps/api-service/types/analytics.ts:100.

AnalyticsResponse

AnalyticsResponse = z.object({
  metrics: z.array(AnalyticsMetric),
  period: z.object({
    start: z.string().datetime(),
    end: z.string().datetime(),
  }),
  total_points: z.number().int(),
})

Source: minds-ui/apps/api-service/types/analytics.ts:106.

AnalyticsResponse

export type AnalyticsResponse = z.infer<typeof AnalyticsResponse>

Source: minds-ui/apps/api-service/types/analytics.ts:115.

AnalyticsDashboard

AnalyticsDashboard = z.object({
  id: z.string(),
  name: z.string(),
  description: z.string().optional(),
  user_id: z.string().optional(),
  organization_id: z.string().optional(),
  widgets: z.array(z.object({
    id: z.string(),
    type: z.string(),
    title: z.string(),
    metric_type: AnalyticsMetricType,
    aggregation: AnalyticsAggregationType,
    period: AnalyticsTimePeriod,
    position: z.object({
      x: z.number().int(),
      y: z.number().int(),
      width: z.number().int(),
      height: z.number().int(),
    }),
    config: z.record(z.unknown()).optional(),
  })),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/analytics.ts:121.

AnalyticsDashboard

export type AnalyticsDashboard = z.infer<typeof AnalyticsDashboard>

Source: minds-ui/apps/api-service/types/analytics.ts:146.

CreateAnalyticsDashboardRequest

CreateAnalyticsDashboardRequest = z.object({
  name: z.string().min(1).max(100),
  description: z.string().max(500).optional(),
  organization_id: z.string().optional(),
  widgets: z.array(z.object({
    type: z.string(),
    title: z.string(),
    metric_type: AnalyticsMetricType,
    aggregation: AnalyticsAggregationType,
    period: AnalyticsTimePeriod,
    position: z.object({
      x: z.number().int(),
      y: z.number().int(),
      width: z.number().int(),
      height: z.number().int(),
    }),
    config: z.record(z.unknown()).optional(),
  })).optional(),
})

Source: minds-ui/apps/api-service/types/analytics.ts:152.

CreateAnalyticsDashboardRequest

export type CreateAnalyticsDashboardRequest = z.infer<typeof CreateAnalyticsDashboardRequest>

Source: minds-ui/apps/api-service/types/analytics.ts:172.

UpdateAnalyticsDashboardRequest

UpdateAnalyticsDashboardRequest = z.object({
  name: z.string().min(1).max(100).optional(),
  description: z.string().max(500).optional(),
  widgets: z.array(z.object({
    id: z.string().optional(),
    type: z.string(),
    title: z.string(),
    metric_type: AnalyticsMetricType,
    aggregation: AnalyticsAggregationType,
    period: AnalyticsTimePeriod,
    position: z.object({
      x: z.number().int(),
      y: z.number().int(),
      width: z.number().int(),
      height: z.number().int(),
    }),
    config: z.record(z.unknown()).optional(),
  })).optional(),
})

Source: minds-ui/apps/api-service/types/analytics.ts:178.

UpdateAnalyticsDashboardRequest

export type UpdateAnalyticsDashboardRequest = z.infer<typeof UpdateAnalyticsDashboardRequest>

Source: minds-ui/apps/api-service/types/analytics.ts:198.

ListAnalyticsDashboardsResponse

ListAnalyticsDashboardsResponse = z.object({
  dashboards: z.array(AnalyticsDashboard),
})

Source: minds-ui/apps/api-service/types/analytics.ts:204.

ListAnalyticsDashboardsResponse

export type ListAnalyticsDashboardsResponse = z.infer<typeof ListAnalyticsDashboardsResponse>

Source: minds-ui/apps/api-service/types/analytics.ts:208.

AnalyticsReport

AnalyticsReport = z.object({
  id: z.string(),
  name: z.string(),
  description: z.string().optional(),
  user_id: z.string().optional(),
  organization_id: z.string().optional(),
  metric_types: z.array(AnalyticsMetricType),
  period: AnalyticsTimePeriod,
  aggregation: AnalyticsAggregationType,
  schedule: z.object({
    frequency: z.enum(['daily', 'weekly', 'monthly']),
    time: z.string(), // HH:MM format
    timezone: z.string(),
  }).optional(),
  recipients: z.array(z.string().email()),
  format: z.enum(['pdf', 'csv', 'json']),
  enabled: z.boolean(),
  last_generated: z.string().datetime().nullable(),
  next_generation: z.string().datetime().nullable(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/analytics.ts:214.

AnalyticsReport

export type AnalyticsReport = z.infer<typeof AnalyticsReport>

Source: minds-ui/apps/api-service/types/analytics.ts:237.

CreateAnalyticsReportRequest

CreateAnalyticsReportRequest = z.object({
  name: z.string().min(1).max(100),
  description: z.string().max(500).optional(),
  organization_id: z.string().optional(),
  metric_types: z.array(AnalyticsMetricType).min(1),
  period: AnalyticsTimePeriod,
  aggregation: AnalyticsAggregationType.optional().default('sum'),
  schedule: z.object({
    frequency: z.enum(['daily', 'weekly', 'monthly']),
    time: z.string(),
    timezone: z.string(),
  }).optional(),
  recipients: z.array(z.string().email()).min(1),
  format: z.enum(['pdf', 'csv', 'json']).optional().default('pdf'),
})

Source: minds-ui/apps/api-service/types/analytics.ts:243.

CreateAnalyticsReportRequest

export type CreateAnalyticsReportRequest = z.infer<typeof CreateAnalyticsReportRequest>

Source: minds-ui/apps/api-service/types/analytics.ts:259.

UpdateAnalyticsReportRequest

UpdateAnalyticsReportRequest = z.object({
  name: z.string().min(1).max(100).optional(),
  description: z.string().max(500).optional(),
  metric_types: z.array(AnalyticsMetricType).optional(),
  period: AnalyticsTimePeriod.optional(),
  aggregation: AnalyticsAggregationType.optional(),
  schedule: z.object({
    frequency: z.enum(['daily', 'weekly', 'monthly']),
    time: z.string(),
    timezone: z.string(),
  }).optional(),
  recipients: z.array(z.string().email()).optional(),
  format: z.enum(['pdf', 'csv', 'json']).optional(),
  enabled: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/analytics.ts:265.

UpdateAnalyticsReportRequest

export type UpdateAnalyticsReportRequest = z.infer<typeof UpdateAnalyticsReportRequest>

Source: minds-ui/apps/api-service/types/analytics.ts:281.

ListAnalyticsReportsResponse

ListAnalyticsReportsResponse = z.object({
  reports: z.array(AnalyticsReport),
})

Source: minds-ui/apps/api-service/types/analytics.ts:287.

ListAnalyticsReportsResponse

export type ListAnalyticsReportsResponse = z.infer<typeof ListAnalyticsReportsResponse>

Source: minds-ui/apps/api-service/types/analytics.ts:291.

AnalyticsExportRequest

AnalyticsExportRequest = z.object({
  metric_types: z.array(AnalyticsMetricType).min(1),
  period: AnalyticsTimePeriod,
  aggregation: AnalyticsAggregationType.optional().default('sum'),
  start_date: z.string().datetime().optional(),
  end_date: z.string().datetime().optional(),
  format: z.enum(['csv', 'json', 'xlsx']),
  tenant_id: z.string().optional(),
  organization_id: z.string().optional(),
})

Source: minds-ui/apps/api-service/types/analytics.ts:297.

AnalyticsExportRequest

export type AnalyticsExportRequest = z.infer<typeof AnalyticsExportRequest>

Source: minds-ui/apps/api-service/types/analytics.ts:308.

AnalyticsExportResponse

AnalyticsExportResponse = z.object({
  export_id: z.string(),
  format: z.enum(['csv', 'json', 'xlsx']),
  status: z.enum(['processing', 'completed', 'failed']),
  download_url: z.string().url().optional(),
  expires_at: z.string().datetime().optional(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/analytics.ts:314.

AnalyticsExportResponse

export type AnalyticsExportResponse = z.infer<typeof AnalyticsExportResponse>

Source: minds-ui/apps/api-service/types/analytics.ts:323.

AnalyticsSummary

AnalyticsSummary = z.object({
  total_requests: z.number().int(),
  total_storage_gb: z.number(),
  total_compute_hours: z.number(),
  total_vector_searches: z.number().int(),
  total_graph_queries: z.number().int(),
  total_hrm_inferences: z.number().int(),
  active_users: z.number().int(),
  active_tenants: z.number().int(),
  active_organizations: z.number().int(),
  period_start: z.string().datetime(),
  period_end: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/analytics.ts:329.

AnalyticsSummary

export type AnalyticsSummary = z.infer<typeof AnalyticsSummary>

Source: minds-ui/apps/api-service/types/analytics.ts:343.

GetAnalyticsSummaryResponse

GetAnalyticsSummaryResponse = z.object({
  summary: AnalyticsSummary,
  period: z.object({
    start: z.string().datetime(),
    end: z.string().datetime(),
  }),
})

Source: minds-ui/apps/api-service/types/analytics.ts:349.

GetAnalyticsSummaryResponse

export type GetAnalyticsSummaryResponse = z.infer<typeof GetAnalyticsSummaryResponse>

Source: minds-ui/apps/api-service/types/analytics.ts:357.

AnalyticsAlert

AnalyticsAlert = z.object({
  id: z.string(),
  name: z.string(),
  metric_type: AnalyticsMetricType,
  threshold: z.number(),
  operator: z.enum(['gt', 'gte', 'lt', 'lte', 'eq', 'neq']),
  period: AnalyticsTimePeriod,
  aggregation: AnalyticsAggregationType,
  tenant_id: z.string().optional(),
  organization_id: z.string().optional(),
  enabled: z.boolean(),
  last_triggered: z.string().datetime().nullable(),
  trigger_count: z.number().int(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/analytics.ts:363.

AnalyticsAlert

export type AnalyticsAlert = z.infer<typeof AnalyticsAlert>

Source: minds-ui/apps/api-service/types/analytics.ts:380.

CreateAnalyticsAlertRequest

CreateAnalyticsAlertRequest = z.object({
  name: z.string().min(1).max(100),
  metric_type: AnalyticsMetricType,
  threshold: z.number(),
  operator: z.enum(['gt', 'gte', 'lt', 'lte', 'eq', 'neq']),
  period: AnalyticsTimePeriod,
  aggregation: AnalyticsAggregationType.optional().default('sum'),
  tenant_id: z.string().optional(),
  organization_id: z.string().optional(),
})

Source: minds-ui/apps/api-service/types/analytics.ts:386.

CreateAnalyticsAlertRequest

export type CreateAnalyticsAlertRequest = z.infer<typeof CreateAnalyticsAlertRequest>

Source: minds-ui/apps/api-service/types/analytics.ts:397.

UpdateAnalyticsAlertRequest

UpdateAnalyticsAlertRequest = z.object({
  name: z.string().min(1).max(100).optional(),
  threshold: z.number().optional(),
  operator: z.enum(['gt', 'gte', 'lt', 'lte', 'eq', 'neq']).optional(),
  period: AnalyticsTimePeriod.optional(),
  aggregation: AnalyticsAggregationType.optional(),
  enabled: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/analytics.ts:403.

UpdateAnalyticsAlertRequest

export type UpdateAnalyticsAlertRequest = z.infer<typeof UpdateAnalyticsAlertRequest>

Source: minds-ui/apps/api-service/types/analytics.ts:412.

ListAnalyticsAlertsResponse

ListAnalyticsAlertsResponse = z.object({
  alerts: z.array(AnalyticsAlert),
})

Source: minds-ui/apps/api-service/types/analytics.ts:418.

ListAnalyticsAlertsResponse

export type ListAnalyticsAlertsResponse = z.infer<typeof ListAnalyticsAlertsResponse>

Source: minds-ui/apps/api-service/types/analytics.ts:422.

minds-ui/apps/api-service/types/api-key.ts

ApiKey

ApiKey = z.object({
  id: z.string(),
  tenant_id: z.string(),
  name: z.string(),
  description: z.string().optional(),
  key_hash: z.string(), // SHA-256 hash of the actual key
  permissions: z.array(z.string()), // Permission strings
  enabled: z.boolean(),
  expires_at: z.string().datetime().nullable(),
  last_used_at: z.string().datetime().nullable(),
  usage_count: z.number().int(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/api-key.ts:7.

ApiKey

export type ApiKey = z.infer<typeof ApiKey>

Source: minds-ui/apps/api-service/types/api-key.ts:22.

CreateApiKeyRequest

CreateApiKeyRequest = z.object({
  name: z.string().min(1).max(100),
  description: z.string().max(500).optional(),
  permissions: z.array(z.string()).optional(),
  expires_at: z.string().datetime().optional(),
})

Source: minds-ui/apps/api-service/types/api-key.ts:28.

CreateApiKeyRequest

export type CreateApiKeyRequest = z.infer<typeof CreateApiKeyRequest>

Source: minds-ui/apps/api-service/types/api-key.ts:35.

CreateApiKeyResponse

CreateApiKeyResponse = z.object({
  api_key_id: z.string(),
  key: z.string(), // Only returned on creation
  name: z.string(),
  permissions: z.array(z.string()),
  expires_at: z.string().datetime().nullable(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/api-key.ts:41.

CreateApiKeyResponse

export type CreateApiKeyResponse = z.infer<typeof CreateApiKeyResponse>

Source: minds-ui/apps/api-service/types/api-key.ts:50.

UpdateApiKeyRequest

UpdateApiKeyRequest = z.object({
  name: z.string().min(1).max(100).optional(),
  description: z.string().max(500).optional(),
  permissions: z.array(z.string()).optional(),
  enabled: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/api-key.ts:56.

UpdateApiKeyRequest

export type UpdateApiKeyRequest = z.infer<typeof UpdateApiKeyRequest>

Source: minds-ui/apps/api-service/types/api-key.ts:63.

ListApiKeysResponse

ListApiKeysResponse = z.object({
  api_keys: z.array(
    ApiKey.omit({
      key_hash: true, // Never expose the hash
    }),
  ),
})

Source: minds-ui/apps/api-service/types/api-key.ts:69.

ListApiKeysResponse

export type ListApiKeysResponse = z.infer<typeof ListApiKeysResponse>

Source: minds-ui/apps/api-service/types/api-key.ts:77.

ApiKeyUsage

ApiKeyUsage = z.object({
  api_key_id: z.string(),
  requests_total: z.number().int(),
  requests_last_24h: z.number().int(),
  last_used_at: z.string().datetime().nullable(),
  top_endpoints: z.array(
    z.object({
      endpoint: z.string(),
      count: z.number().int(),
    }),
  ),
})

Source: minds-ui/apps/api-service/types/api-key.ts:83.

ApiKeyUsage

export type ApiKeyUsage = z.infer<typeof ApiKeyUsage>

Source: minds-ui/apps/api-service/types/api-key.ts:96.

GetApiKeyUsageResponse

GetApiKeyUsageResponse = z.object({
  usage: ApiKeyUsage,
  period: z.object({
    start: z.string().datetime(),
    end: z.string().datetime(),
  }),
})

Source: minds-ui/apps/api-service/types/api-key.ts:102.

GetApiKeyUsageResponse

export type GetApiKeyUsageResponse = z.infer<typeof GetApiKeyUsageResponse>

Source: minds-ui/apps/api-service/types/api-key.ts:110.

ApiKeyPermission

ApiKeyPermission = z.object({
  name: z.string(),
  description: z.string(),
  category: z.string(),
  required_for: z.array(z.string()).optional(),
})

Source: minds-ui/apps/api-service/types/api-key.ts:116.

ApiKeyPermission

export type ApiKeyPermission = z.infer<typeof ApiKeyPermission>

Source: minds-ui/apps/api-service/types/api-key.ts:123.

ListApiKeyPermissionsResponse

ListApiKeyPermissionsResponse = z.object({
  permissions: z.array(ApiKeyPermission),
})

Source: minds-ui/apps/api-service/types/api-key.ts:129.

ListApiKeyPermissionsResponse

export type ListApiKeyPermissionsResponse = z.infer<typeof ListApiKeyPermissionsResponse>

Source: minds-ui/apps/api-service/types/api-key.ts:133.

ApiKeyRateLimit

ApiKeyRateLimit = z.object({
  requests_per_minute: z.number().int().min(1),
  burst: z.number().int().min(1).optional(),
})

Source: minds-ui/apps/api-service/types/api-key.ts:139.

ApiKeyRateLimit

export type ApiKeyRateLimit = z.infer<typeof ApiKeyRateLimit>

Source: minds-ui/apps/api-service/types/api-key.ts:144.

SetApiKeyRateLimitRequest

SetApiKeyRateLimitRequest = z.object({
  rate_limit: ApiKeyRateLimit,
})

Source: minds-ui/apps/api-service/types/api-key.ts:150.

SetApiKeyRateLimitRequest

export type SetApiKeyRateLimitRequest = z.infer<typeof SetApiKeyRateLimitRequest>

Source: minds-ui/apps/api-service/types/api-key.ts:154.

ApiKeyValidation

ApiKeyValidation = z.object({
  valid: z.boolean(),
  api_key_id: z.string().optional(),
  tenant_id: z.string().optional(),
  permissions: z.array(z.string()).optional(),
  rate_limit: ApiKeyRateLimit.optional(),
  error: z.string().optional(),
})

Source: minds-ui/apps/api-service/types/api-key.ts:160.

ApiKeyValidation

export type ApiKeyValidation = z.infer<typeof ApiKeyValidation>

Source: minds-ui/apps/api-service/types/api-key.ts:169.

ApiKeyAuditLog

ApiKeyAuditLog = z.object({
  id: z.string(),
  api_key_id: z.string(),
  action: z.enum(['created', 'updated', 'deleted', 'enabled', 'disabled', 'used']),
  user_id: z.string().optional(),
  ip_address: z.string().optional(),
  user_agent: z.string().optional(),
  metadata: z.record(z.unknown()).optional(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/api-key.ts:175.

ApiKeyAuditLog

export type ApiKeyAuditLog = z.infer<typeof ApiKeyAuditLog>

Source: minds-ui/apps/api-service/types/api-key.ts:186.

ListApiKeyAuditLogsQuery

ListApiKeyAuditLogsQuery = z.object({
  limit: z.coerce.number().int().min(1).max(100).default(20),
  offset: z.coerce.number().int().min(0).default(0),
  action: z.enum(['created', 'updated', 'deleted', 'enabled', 'disabled', 'used']).optional(),
})

Source: minds-ui/apps/api-service/types/api-key.ts:192.

ListApiKeyAuditLogsQuery

export type ListApiKeyAuditLogsQuery = z.infer<typeof ListApiKeyAuditLogsQuery>

Source: minds-ui/apps/api-service/types/api-key.ts:198.

ListApiKeyAuditLogsResponse

ListApiKeyAuditLogsResponse = z.object({
  audit_logs: z.array(ApiKeyAuditLog),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/api-key.ts:204.

ListApiKeyAuditLogsResponse

export type ListApiKeyAuditLogsResponse = z.infer<typeof ListApiKeyAuditLogsResponse>

Source: minds-ui/apps/api-service/types/api-key.ts:213.

minds-ui/apps/api-service/types/audit.ts

AuditAction

AuditAction = z.enum([
  'create',
  'read',
  'update',
  'delete',
  'login',
  'logout',
  'permission_granted',
  'permission_revoked',
  'api_key_created',
  'api_key_revoked',
  'backup_created',
  'backup_restored',
  'tenant_provisioned',
  'tenant_suspended',
  'tenant_deleted',
  'subscription_created',
  'subscription_canceled',
  'payment_processed',
  'webhook_triggered',
  'export_data',
  'import_data',
])

Source: minds-ui/apps/api-service/types/audit.ts:7.

AuditAction

export type AuditAction = z.infer<typeof AuditAction>

Source: minds-ui/apps/api-service/types/audit.ts:31.

AuditResourceType

AuditResourceType = z.enum([
  'tenant',
  'organization',
  'user',
  'api_key',
  'backup',
  'subscription',
  'invoice',
  'webhook',
  'service',
  'bundle',
  'usage_record',
  'payment_method',
])

Source: minds-ui/apps/api-service/types/audit.ts:37.

AuditResourceType

export type AuditResourceType = z.infer<typeof AuditResourceType>

Source: minds-ui/apps/api-service/types/audit.ts:52.

AuditLog

AuditLog = z.object({
  id: z.string(),
  user_id: z.string().optional(),
  session_id: z.string().optional(),
  api_key_id: z.string().optional(),
  action: AuditAction,
  resource_type: AuditResourceType.optional(),
  resource_id: z.string().optional(),
  tenant_id: z.string().optional(),
  organization_id: z.string().optional(),
  ip_address: z.string().optional(),
  user_agent: z.string().optional(),
  request_id: z.string().optional(),
  status_code: z.number().int().optional(),
  message: z.string().optional(),
  metadata: z.record(z.unknown()).optional(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/audit.ts:58.

AuditLog

export type AuditLog = z.infer<typeof AuditLog>

Source: minds-ui/apps/api-service/types/audit.ts:77.

ListAuditLogsQuery

ListAuditLogsQuery = z.object({
  limit: z.coerce.number().int().min(1).max(1000).default(100),
  offset: z.coerce.number().int().min(0).default(0),
  user_id: z.string().optional(),
  action: AuditAction.optional(),
  resource_type: AuditResourceType.optional(),
  resource_id: z.string().optional(),
  tenant_id: z.string().optional(),
  organization_id: z.string().optional(),
  start_date: z.string().datetime().optional(),
  end_date: z.string().datetime().optional(),
  ip_address: z.string().optional(),
  status_code: z.number().int().optional(),
})

Source: minds-ui/apps/api-service/types/audit.ts:83.

ListAuditLogsQuery

export type ListAuditLogsQuery = z.infer<typeof ListAuditLogsQuery>

Source: minds-ui/apps/api-service/types/audit.ts:98.

ListAuditLogsResponse

ListAuditLogsResponse = z.object({
  audit_logs: z.array(AuditLog),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/audit.ts:104.

ListAuditLogsResponse

export type ListAuditLogsResponse = z.infer<typeof ListAuditLogsResponse>

Source: minds-ui/apps/api-service/types/audit.ts:113.

AuditLogSummary

AuditLogSummary = z.object({
  total_actions: z.number().int(),
  unique_users: z.number().int(),
  unique_tenants: z.number().int(),
  unique_organizations: z.number().int(),
  action_breakdown: z.record(z.number().int()),
  resource_type_breakdown: z.record(z.number().int()),
  period_start: z.string().datetime(),
  period_end: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/audit.ts:119.

AuditLogSummary

export type AuditLogSummary = z.infer<typeof AuditLogSummary>

Source: minds-ui/apps/api-service/types/audit.ts:130.

GetAuditLogSummaryResponse

GetAuditLogSummaryResponse = z.object({
  summary: AuditLogSummary,
  period: z.object({
    start: z.string().datetime(),
    end: z.string().datetime(),
  }),
})

Source: minds-ui/apps/api-service/types/audit.ts:136.

GetAuditLogSummaryResponse

export type GetAuditLogSummaryResponse = z.infer<typeof GetAuditLogSummaryResponse>

Source: minds-ui/apps/api-service/types/audit.ts:144.

AuditLogExportRequest

AuditLogExportRequest = z.object({
  format: z.enum(['json', 'csv', 'xlsx']),
  start_date: z.string().datetime(),
  end_date: z.string().datetime(),
  filters: z.object({
    user_id: z.string().optional(),
    action: AuditAction.optional(),
    resource_type: AuditResourceType.optional(),
    tenant_id: z.string().optional(),
    organization_id: z.string().optional(),
  }).optional(),
})

Source: minds-ui/apps/api-service/types/audit.ts:150.

AuditLogExportRequest

export type AuditLogExportRequest = z.infer<typeof AuditLogExportRequest>

Source: minds-ui/apps/api-service/types/audit.ts:163.

AuditLogExportResponse

AuditLogExportResponse = z.object({
  export_id: z.string(),
  format: z.enum(['json', 'csv', 'xlsx']),
  status: z.enum(['processing', 'completed', 'failed']),
  download_url: z.string().url().optional(),
  expires_at: z.string().datetime().optional(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/audit.ts:169.

AuditLogExportResponse

export type AuditLogExportResponse = z.infer<typeof AuditLogExportResponse>

Source: minds-ui/apps/api-service/types/audit.ts:178.

AuditLogRetentionPolicy

AuditLogRetentionPolicy = z.object({
  id: z.string(),
  organization_id: z.string().optional(),
  retention_days: z.number().int().min(1).max(2555), // Max 7 years
  archive_after_days: z.number().int().min(1).optional(),
  enabled: z.boolean(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/audit.ts:184.

AuditLogRetentionPolicy

export type AuditLogRetentionPolicy = z.infer<typeof AuditLogRetentionPolicy>

Source: minds-ui/apps/api-service/types/audit.ts:194.

CreateAuditLogRetentionPolicyRequest

CreateAuditLogRetentionPolicyRequest = z.object({
  organization_id: z.string().optional(),
  retention_days: z.number().int().min(1).max(2555),
  archive_after_days: z.number().int().min(1).optional(),
})

Source: minds-ui/apps/api-service/types/audit.ts:200.

CreateAuditLogRetentionPolicyRequest

export type CreateAuditLogRetentionPolicyRequest = z.infer<typeof CreateAuditLogRetentionPolicyRequest>

Source: minds-ui/apps/api-service/types/audit.ts:206.

UpdateAuditLogRetentionPolicyRequest

UpdateAuditLogRetentionPolicyRequest = z.object({
  retention_days: z.number().int().min(1).max(2555).optional(),
  archive_after_days: z.number().int().min(1).optional(),
  enabled: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/audit.ts:212.

UpdateAuditLogRetentionPolicyRequest

export type UpdateAuditLogRetentionPolicyRequest = z.infer<typeof UpdateAuditLogRetentionPolicyRequest>

Source: minds-ui/apps/api-service/types/audit.ts:218.

ListAuditLogRetentionPoliciesResponse

ListAuditLogRetentionPoliciesResponse = z.object({
  policies: z.array(AuditLogRetentionPolicy),
})

Source: minds-ui/apps/api-service/types/audit.ts:224.

ListAuditLogRetentionPoliciesResponse

export type ListAuditLogRetentionPoliciesResponse = z.infer<typeof ListAuditLogRetentionPoliciesResponse>

Source: minds-ui/apps/api-service/types/audit.ts:228.

AuditLogComplianceReport

AuditLogComplianceReport = z.object({
  report_id: z.string(),
  organization_id: z.string().optional(),
  report_type: z.enum(['sox', 'pci', 'gdpr', 'hipaa', 'custom']),
  period_start: z.string().datetime(),
  period_end: z.string().datetime(),
  total_events: z.number().int(),
  compliance_score: z.number().min(0).max(100),
  violations: z.array(z.object({
    type: z.string(),
    count: z.number().int(),
    severity: z.enum(['low', 'medium', 'high', 'critical']),
  })),
  recommendations: z.array(z.string()),
  generated_at: z.string().datetime(),
  generated_by: z.string(),
})

Source: minds-ui/apps/api-service/types/audit.ts:234.

AuditLogComplianceReport

export type AuditLogComplianceReport = z.infer<typeof AuditLogComplianceReport>

Source: minds-ui/apps/api-service/types/audit.ts:252.

GenerateAuditLogComplianceReportRequest

GenerateAuditLogComplianceReportRequest = z.object({
  organization_id: z.string().optional(),
  report_type: z.enum(['sox', 'pci', 'gdpr', 'hipaa', 'custom']),
  period_start: z.string().datetime(),
  period_end: z.string().datetime(),
  custom_criteria: z.record(z.unknown()).optional(),
})

Source: minds-ui/apps/api-service/types/audit.ts:258.

GenerateAuditLogComplianceReportRequest

export type GenerateAuditLogComplianceReportRequest = z.infer<typeof GenerateAuditLogComplianceReportRequest>

Source: minds-ui/apps/api-service/types/audit.ts:266.

GenerateAuditLogComplianceReportResponse

GenerateAuditLogComplianceReportResponse = z.object({
  report_id: z.string(),
  status: z.enum(['processing', 'completed', 'failed']),
  download_url: z.string().url().optional(),
  expires_at: z.string().datetime().optional(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/audit.ts:272.

GenerateAuditLogComplianceReportResponse

export type GenerateAuditLogComplianceReportResponse = z.infer<typeof GenerateAuditLogComplianceReportResponse>

Source: minds-ui/apps/api-service/types/audit.ts:280.

AuditLogAlert

AuditLogAlert = z.object({
  id: z.string(),
  alert_type: z.enum(['suspicious_activity', 'failed_login', 'privilege_escalation', 'data_export', 'custom']),
  severity: z.enum(['low', 'medium', 'high', 'critical']),
  title: z.string(),
  description: z.string(),
  triggered_by: z.string().optional(),
  user_id: z.string().optional(),
  tenant_id: z.string().optional(),
  organization_id: z.string().optional(),
  metadata: z.record(z.unknown()).optional(),
  acknowledged: z.boolean(),
  acknowledged_by: z.string().optional(),
  acknowledged_at: z.string().datetime().optional(),
  resolved: z.boolean(),
  resolved_at: z.string().datetime().optional(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/audit.ts:286.

AuditLogAlert

export type AuditLogAlert = z.infer<typeof AuditLogAlert>

Source: minds-ui/apps/api-service/types/audit.ts:305.

ListAuditLogAlertsQuery

ListAuditLogAlertsQuery = z.object({
  limit: z.coerce.number().int().min(1).max(100).default(20),
  offset: z.coerce.number().int().min(0).default(0),
  alert_type: z.enum(['suspicious_activity', 'failed_login', 'privilege_escalation', 'data_export', 'custom']).optional(),
  severity: z.enum(['low', 'medium', 'high', 'critical']).optional(),
  acknowledged: z.boolean().optional(),
  resolved: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/audit.ts:311.

ListAuditLogAlertsQuery

export type ListAuditLogAlertsQuery = z.infer<typeof ListAuditLogAlertsQuery>

Source: minds-ui/apps/api-service/types/audit.ts:320.

ListAuditLogAlertsResponse

ListAuditLogAlertsResponse = z.object({
  alerts: z.array(AuditLogAlert),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/audit.ts:326.

ListAuditLogAlertsResponse

export type ListAuditLogAlertsResponse = z.infer<typeof ListAuditLogAlertsResponse>

Source: minds-ui/apps/api-service/types/audit.ts:335.

AcknowledgeAuditLogAlertRequest

AcknowledgeAuditLogAlertRequest = z.object({
  message: z.string().max(500).optional(),
})

Source: minds-ui/apps/api-service/types/audit.ts:341.

AcknowledgeAuditLogAlertRequest

export type AcknowledgeAuditLogAlertRequest = z.infer<typeof AcknowledgeAuditLogAlertRequest>

Source: minds-ui/apps/api-service/types/audit.ts:345.

AcknowledgeAuditLogAlertResponse

AcknowledgeAuditLogAlertResponse = z.object({
  alert_id: z.string(),
  acknowledged: z.boolean(),
  acknowledged_by: z.string(),
  acknowledged_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/audit.ts:351.

AcknowledgeAuditLogAlertResponse

export type AcknowledgeAuditLogAlertResponse = z.infer<typeof AcknowledgeAuditLogAlertResponse>

Source: minds-ui/apps/api-service/types/audit.ts:358.

minds-ui/apps/api-service/types/auth.ts

Session

export interface Session {
  user: {
    id: string;
    email: string;
    name?: string;
    image?: string;
    emailVerified: boolean;
  };
  sessionId: string;
  expiresAt: Date;
  createdAt: Date;
  orgMemberships: OrgMembership[];
  tenantMemberships: TenantMembership[];
  defaultOrgId?: string;
  hmr?: HmrSessionContext;
}

Source: minds-ui/apps/api-service/types/auth.ts:30.

HmrSessionContext

export interface HmrSessionContext {
  did: string;
  tenantId: string;
  tenantDid: string;
  kratosIdentityId: string;
  aoDids: string[];
  mhrDids: string[];
  cached: boolean;
}

Source: minds-ui/apps/api-service/types/auth.ts:47.

OrgMembership

export interface OrgMembership {
  orgId: string;
  userId: string;
  role: OrgRole;
  createdAt: Date;
  active: boolean;
  organization: {
    id: string;
    name: string;
    slug: string;
  };
  invitedBy?: string;
}

Source: minds-ui/apps/api-service/types/auth.ts:61.

OrgRole

export type OrgRole = 'owner' | 'admin' | 'member' | 'billing';

Source: minds-ui/apps/api-service/types/auth.ts:78.

TenantMembership

export interface TenantMembership {
  tenantId: string;
  tenantSlug: string;
  tenantName: string;
  orgId: string;
  role: TenantRole;
  plan: TenantPlan;
  productType: ProductType;
  projectId?: string;
  planMemoryLimit?: number | null;
  planRetrievalQuota?: number | null;
  planGraphEnabled: boolean;
  planNodePartitioning: boolean;
  active: boolean;
  createdAt: Date;
}

Source: minds-ui/apps/api-service/types/auth.ts:83.

TenantAccessToken

export interface TenantAccessToken {
  // Standard JWT claims
  iss: string;           // Issuer: "https://akasha.ooo"
  sub: string;           // Subject: user ID
  aud: string;           // Audience: tenant ID
  exp: number;           // Expiration: Unix timestamp
  iat: number;           // Issued at: Unix timestamp
  jti: string;           // JWT ID: unique token ID

  // AKASHA-specific claims
  tenant_id: string;     // Tenant UUID
  tenant_slug: string;   // Tenant subdomain slug
  org_id: string;        // Organization UUID
  user_id: string;       // User UUID
  user_email: string;    // User email

  // Namespace hierarchy
  namespace: {
    tenant: string;      // Tenant ID
    reservoir?: string;  // Optional: reservoir ID
    agent?: string;      // Optional: agent ID
    dataspace?: string;  // Optional: dataspace ID
  };

  // Permissions (ACL)
  permissions: Permission[];
  tenant_role?: TenantRole;

  // Plan-based limits
  plan: TenantPlan;
  quota: TenantQuota;
}

Source: minds-ui/apps/api-service/types/auth.ts:110.

Permission

export type Permission = import('@/lib/auth/permissions').Permission

Source: minds-ui/apps/api-service/types/auth.ts:146.

TenantQuota

export interface TenantQuota {
  storage_gb: number;
  requests_per_day: number;
  hrm_inferences_per_day: number;
  memory_entries?: number | null;
  retrieval_calls?: number | null;
  graph_enabled?: boolean;
  node_partitioning?: boolean;
}

Source: minds-ui/apps/api-service/types/auth.ts:151.

TenantRole

export type TenantRole = 'owner' | 'admin' | 'developer' | 'viewer';

Source: minds-ui/apps/api-service/types/auth.ts:278.

ApiKey

export interface ApiKey {
  id: string;
  key: string;              // Hashed in database
  name: string;
  description?: string;
  tenantId: string;
  enabled: boolean;
  permissions: Permission[];
  rateLimit?: {
    requests_per_minute: number;
    burst?: number;
  };
  role?: TenantRole;
  expiresAt?: Date;
  createdAt: Date;
  lastUsedAt?: Date;
  usageCount: number;
  metadata?: Record<string, any>;
  tenant?: {
    orgId: string;
    ownerId: string;
    tenantSlug: string;
    tenantName: string;
    plan: TenantPlan;
    status: TenantStatus;
  };
}

Source: minds-ui/apps/api-service/types/auth.ts:289.

AuthContext

export interface AuthContext {
  // User authentication
  user: {
    id: string;
    email: string;
    name?: string;
  };
  subjectType: 'session' | 'apiKey' | 'jwt';

  // Session info
  sessionId?: string;       // From BetterAuth session
  apiKeyId?: string;        // From API key auth

  // Tenant context
  tenantId?: string;        // Current tenant being accessed
  tenantSlug?: string;
  orgId: string;            // Primary organization for request
  orgIds: string[];         // All organizations available to subject
  orgMemberships: OrgMembership[];
  tenantMemberships: TenantMembership[];

  // Permissions
  permissions: Permission[];
  tenantRole?: TenantRole;
  orgRole: OrgRole;
  plan?: TenantPlan;
  apiKeyRateLimit?: {
    requests_per_minute: number;
    burst?: number;
  };

  // Request metadata
  requestId: string;
  ip: string;
  userAgent: string;
}

Source: minds-ui/apps/api-service/types/auth.ts:326.

AuthErrorCode

export enum AuthErrorCode {
  // Authentication errors
  NO_AUTH = 'NO_AUTH',
  INVALID_TOKEN = 'INVALID_TOKEN',
  TOKEN_EXPIRED = 'TOKEN_EXPIRED',
  SESSION_EXPIRED = 'SESSION_EXPIRED',
  INVALID_API_KEY = 'INVALID_API_KEY',

  // Authorization errors
  PERMISSION_DENIED = 'PERMISSION_DENIED',
  INSUFFICIENT_PERMISSIONS = 'INSUFFICIENT_PERMISSIONS',
  TENANT_ACCESS_DENIED = 'TENANT_ACCESS_DENIED',
  ORG_ACCESS_DENIED = 'ORG_ACCESS_DENIED',

  // Rate limiting
  RATE_LIMIT_EXCEEDED = 'RATE_LIMIT_EXCEEDED',
  QUOTA_EXCEEDED = 'QUOTA_EXCEEDED',
}

Source: minds-ui/apps/api-service/types/auth.ts:370.

HydraOIDCConfig

export interface HydraOIDCConfig {
  issuer: string;
  clientId: string;
  clientSecret: string;
  redirectUri: string;
  scopes: string[];
}

Source: minds-ui/apps/api-service/types/auth.ts:411.

KongConsumerMapping

export interface KongConsumerMapping {
  username: string;      // Tenant slug
  custom_id: string;     // Tenant ID
  apiKeys: string[];     // Associated API keys
  acl_groups: string[];  // ACL groups (e.g., "tenant:{tenant_id}")
}

Source: minds-ui/apps/api-service/types/auth.ts:423.

PermissionSchema

PermissionSchema = z.enum(PERMISSION_VALUES)

Source: minds-ui/apps/api-service/types/auth.ts:434.

GenerateTokenRequest

GenerateTokenRequest = z.object({
  name: z.string().max(100).optional(),
  expires_in: z.number().int().min(60).max(3600).optional(), // 1 min to 1 hour
  permissions: z.array(PermissionSchema).optional(),
})

Source: minds-ui/apps/api-service/types/auth.ts:440.

GenerateTokenRequest

export type GenerateTokenRequest = z.infer<typeof GenerateTokenRequest>

Source: minds-ui/apps/api-service/types/auth.ts:446.

GenerateTokenResponse

GenerateTokenResponse = z.object({
  token: z.string(), // JWT
  expires_at: z.string().datetime(),
  permissions: z.array(PermissionSchema),
})

Source: minds-ui/apps/api-service/types/auth.ts:452.

GenerateTokenResponse

export type GenerateTokenResponse = z.infer<typeof GenerateTokenResponse>

Source: minds-ui/apps/api-service/types/auth.ts:458.

WebhookEventType

WebhookEventType = z.enum([
  'instance.created',
  'instance.ready',
  'instance.scaling',
  'instance.suspended',
  'instance.deleted',
  'backup.started',
  'backup.completed',
  'backup.failed',
  'usage.threshold_exceeded',
  'billing.invoice_created',
  'billing.payment_failed',
])

Source: minds-ui/apps/api-service/types/auth.ts:463.

WebhookEventType

export type WebhookEventType = z.infer<typeof WebhookEventType>

Source: minds-ui/apps/api-service/types/auth.ts:477.

Webhook

Webhook = z.object({
  id: z.string(),
  tenant_id: z.string(),
  url: z.string().url(),
  events: z.array(WebhookEventType),
  secret: z.string(),
  enabled: z.boolean(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/auth.ts:482.

Webhook

export type Webhook = z.infer<typeof Webhook>

Source: minds-ui/apps/api-service/types/auth.ts:492.

CreateWebhookRequest

CreateWebhookRequest = z.object({
  url: z.string().url(),
  events: z.array(WebhookEventType).min(1),
  secret: z.string().optional(), // Auto-generated if not provided
})

Source: minds-ui/apps/api-service/types/auth.ts:498.

CreateWebhookRequest

export type CreateWebhookRequest = z.infer<typeof CreateWebhookRequest>

Source: minds-ui/apps/api-service/types/auth.ts:504.

ListWebhooksResponse

ListWebhooksResponse = z.object({
  webhooks: z.array(Webhook),
})

Source: minds-ui/apps/api-service/types/auth.ts:510.

ListWebhooksResponse

export type ListWebhooksResponse = z.infer<typeof ListWebhooksResponse>

Source: minds-ui/apps/api-service/types/auth.ts:514.

PermissionKey

export type PermissionKey = keyof typeof PERMISSIONS

Source: minds-ui/apps/api-service/types/auth.ts:519.

PermissionValue

export type PermissionValue = (typeof PERMISSIONS)[PermissionKey]

Source: minds-ui/apps/api-service/types/auth.ts:520.

ApiKey

export interface ApiKey {
  id: string;
  tenantId: string;
  name: string;
  keyPrefix: string;
  description?: string;
  permissions: Permission[];
  role?: TenantRole;
  enabled: boolean;
  lastUsedAt?: Date;
  usageCount: number;
  rateLimitPerMinute?: number;
  rateLimitBurst?: number;
  createdAt: Date;
  expiresAt?: Date;
  metadata?: Record<string, any>;
}

Source: minds-ui/apps/api-service/types/auth.ts:537.

minds-ui/apps/api-service/types/backup.ts

BackupStatus

BackupStatus = z.enum(['creating', 'completed', 'failed', 'deleting'])

Source: minds-ui/apps/api-service/types/backup.ts:6.

BackupStatus

export type BackupStatus = z.infer<typeof BackupStatus>

Source: minds-ui/apps/api-service/types/backup.ts:8.

CreateBackupRequest

CreateBackupRequest = z.object({
  name: z.string().max(100).optional(),
  description: z.string().max(500).optional(),
})

Source: minds-ui/apps/api-service/types/backup.ts:14.

CreateBackupRequest

export type CreateBackupRequest = z.infer<typeof CreateBackupRequest>

Source: minds-ui/apps/api-service/types/backup.ts:19.

CreateBackupResponse

CreateBackupResponse = z.object({
  backup_id: z.string(),
  tenant_id: z.string(),
  status: z.literal('creating'),
  created_at: z.string().datetime(),
  estimated_duration: z.number().int(), // seconds
})

Source: minds-ui/apps/api-service/types/backup.ts:25.

CreateBackupResponse

export type CreateBackupResponse = z.infer<typeof CreateBackupResponse>

Source: minds-ui/apps/api-service/types/backup.ts:33.

Backup

Backup = z.object({
  id: z.string(),
  tenant_id: z.string(),
  name: z.string(),
  description: z.string().optional(),
  size_gb: z.number(),
  created_at: z.string().datetime(),
  completed_at: z.string().datetime().optional(),
  status: BackupStatus,
  retention_until: z.string().datetime(),
  metadata: z
    .object({
      storage_path: z.string(),
      checksum: z.string().optional(),
      compression_type: z.enum(['none', 'gzip', 'zstd']).optional(),
    })
    .catchall(z.unknown())
    .optional(),
})

Source: minds-ui/apps/api-service/types/backup.ts:39.

Backup

export type Backup = z.infer<typeof Backup>

Source: minds-ui/apps/api-service/types/backup.ts:59.

ListBackupsResponse

ListBackupsResponse = z.object({
  backups: z.array(Backup),
})

Source: minds-ui/apps/api-service/types/backup.ts:65.

ListBackupsResponse

export type ListBackupsResponse = z.infer<typeof ListBackupsResponse>

Source: minds-ui/apps/api-service/types/backup.ts:69.

RestoreBackupRequest

RestoreBackupRequest = z.object({
  create_new_instance: z.boolean().optional().default(false),
})

Source: minds-ui/apps/api-service/types/backup.ts:75.

RestoreBackupRequest

export type RestoreBackupRequest = z.infer<typeof RestoreBackupRequest>

Source: minds-ui/apps/api-service/types/backup.ts:79.

RestoreBackupResponse

RestoreBackupResponse = z.object({
  restore_id: z.string(),
  tenant_id: z.string(),
  backup_id: z.string(),
  status: z.literal('restoring'),
  estimated_duration: z.number().int(), // seconds
  new_tenant_id: z.string().optional(), // If create_new_instance=true
})

Source: minds-ui/apps/api-service/types/backup.ts:85.

RestoreBackupResponse

export type RestoreBackupResponse = z.infer<typeof RestoreBackupResponse>

Source: minds-ui/apps/api-service/types/backup.ts:94.

minds-ui/apps/api-service/types/billing.ts

BillingSubscriptionStatus

BillingSubscriptionStatus = z.enum([
  'active',
  'canceled',
  'incomplete',
  'incomplete_expired',
  'past_due',
  'trialing',
  'unpaid',
  'paused',
])

Source: minds-ui/apps/api-service/types/billing.ts:7.

BillingSubscriptionStatus

export type BillingSubscriptionStatus = z.infer<typeof BillingSubscriptionStatus>

Source: minds-ui/apps/api-service/types/billing.ts:18.

BillingInvoiceStatus

BillingInvoiceStatus = z.enum([
  'draft',
  'open',
  'paid',
  'void',
  'uncollectible',
  'past_due',
])

Source: minds-ui/apps/api-service/types/billing.ts:24.

BillingInvoiceStatus

export type BillingInvoiceStatus = z.infer<typeof BillingInvoiceStatus>

Source: minds-ui/apps/api-service/types/billing.ts:33.

UsageRecordSource

UsageRecordSource = z.enum([
  'internal',
  'stripe',
])

Source: minds-ui/apps/api-service/types/billing.ts:39.

UsageRecordSource

export type UsageRecordSource = z.infer<typeof UsageRecordSource>

Source: minds-ui/apps/api-service/types/billing.ts:44.

BillingCustomer

BillingCustomer = z.object({
  id: z.string(),
  tenant_id: z.string(),
  stripe_customer_id: z.string(),
  email: z.string().email().nullable(),
  name: z.string().nullable(),
  metadata: z.record(z.unknown()).optional(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/billing.ts:50.

BillingCustomer

export type BillingCustomer = z.infer<typeof BillingCustomer>

Source: minds-ui/apps/api-service/types/billing.ts:61.

BillingSubscription

BillingSubscription = z.object({
  id: z.string(),
  tenant_id: z.string(),
  billing_customer_id: z.string().nullable(),
  stripe_subscription_id: z.string(),
  stripe_price_id: z.string(),
  plan: z.string(), // TenantPlan
  status: BillingSubscriptionStatus,
  current_period_start: z.string().datetime(),
  current_period_end: z.string().datetime(),
  cancel_at_period_end: z.boolean(),
  quantity: z.number().int().nullable(),
  trial_ends_at: z.string().datetime().nullable(),
  ended_at: z.string().datetime().nullable(),
  metadata: z.record(z.unknown()).optional(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/billing.ts:67.

BillingSubscription

export type BillingSubscription = z.infer<typeof BillingSubscription>

Source: minds-ui/apps/api-service/types/billing.ts:86.

BillingInvoice

BillingInvoice = z.object({
  id: z.string(),
  tenant_id: z.string(),
  billing_subscription_id: z.string().nullable(),
  stripe_invoice_id: z.string(),
  stripe_customer_id: z.string(),
  stripe_subscription_id: z.string().nullable(),
  amount_due: z.number().int(),
  amount_paid: z.number().int(),
  currency: z.string(),
  status: BillingInvoiceStatus,
  due_date: z.string().datetime().nullable(),
  period_start: z.string().datetime(),
  period_end: z.string().datetime(),
  hosted_invoice_url: z.string().url().nullable(),
  invoice_pdf_url: z.string().url().nullable(),
  paid_at: z.string().datetime().nullable(),
  metadata: z.record(z.unknown()).optional(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/billing.ts:92.

BillingInvoice

export type BillingInvoice = z.infer<typeof BillingInvoice>

Source: minds-ui/apps/api-service/types/billing.ts:114.

UsageRecord

UsageRecord = z.object({
  id: z.string(),
  tenant_id: z.string(),
  operation: z.string(),
  quantity: z.number().int(),
  timestamp: z.string().datetime(),
  period_start: z.string().datetime(),
  period_end: z.string().datetime(),
  source: UsageRecordSource,
  stripe_usage_record_id: z.string().nullable(),
  total_cost: z.number().nullable(),
  currency: z.string().nullable(),
  
  // Specific usage fields
  requests_total: z.number().int().nullable(),
  requests_included: z.number().int().nullable(),
  requests_overage: z.number().int().nullable(),
  requests_cost: z.number().nullable(),
  
  vector_searches_total: z.number().int().nullable(),
  vector_searches_cost: z.number().nullable(),
  
  graph_queries_total: z.number().int().nullable(),
  graph_queries_cost: z.number().nullable(),
  
  hrm_inferences_total: z.number().int().nullable(),
  hrm_inferences_included: z.number().int().nullable(),
  hrm_inferences_overage: z.number().int().nullable(),
  hrm_inferences_cost: z.number().nullable(),
  
  storage_gb: z.number().nullable(),
  storage_included: z.number().nullable(),
  storage_overage: z.number().nullable(),
  storage_cost: z.number().nullable(),
  
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/billing.ts:120.

UsageRecord

export type UsageRecord = z.infer<typeof UsageRecord>

Source: minds-ui/apps/api-service/types/billing.ts:159.

CreateSubscriptionRequest

CreateSubscriptionRequest = z.object({
  plan: z.string(), // TenantPlan
  payment_method_id: z.string().optional(),
  trial_period_days: z.number().int().min(0).max(30).optional(),
})

Source: minds-ui/apps/api-service/types/billing.ts:165.

CreateSubscriptionRequest

export type CreateSubscriptionRequest = z.infer<typeof CreateSubscriptionRequest>

Source: minds-ui/apps/api-service/types/billing.ts:171.

CreateSubscriptionResponse

CreateSubscriptionResponse = z.object({
  subscription_id: z.string(),
  status: BillingSubscriptionStatus,
  current_period_start: z.string().datetime(),
  current_period_end: z.string().datetime(),
  client_secret: z.string().optional(), // For payment method setup
})

Source: minds-ui/apps/api-service/types/billing.ts:177.

CreateSubscriptionResponse

export type CreateSubscriptionResponse = z.infer<typeof CreateSubscriptionResponse>

Source: minds-ui/apps/api-service/types/billing.ts:185.

UpdateSubscriptionRequest

UpdateSubscriptionRequest = z.object({
  plan: z.string().optional(), // TenantPlan
  cancel_at_period_end: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/billing.ts:191.

UpdateSubscriptionRequest

export type UpdateSubscriptionRequest = z.infer<typeof UpdateSubscriptionRequest>

Source: minds-ui/apps/api-service/types/billing.ts:196.

CancelSubscriptionRequest

CancelSubscriptionRequest = z.object({
  cancel_at_period_end: z.boolean().optional().default(true),
  reason: z.string().max(500).optional(),
})

Source: minds-ui/apps/api-service/types/billing.ts:202.

CancelSubscriptionRequest

export type CancelSubscriptionRequest = z.infer<typeof CancelSubscriptionRequest>

Source: minds-ui/apps/api-service/types/billing.ts:207.

ListInvoicesQuery

ListInvoicesQuery = z.object({
  limit: z.coerce.number().int().min(1).max(100).default(20),
  offset: z.coerce.number().int().min(0).default(0),
  status: BillingInvoiceStatus.optional(),
})

Source: minds-ui/apps/api-service/types/billing.ts:213.

ListInvoicesQuery

export type ListInvoicesQuery = z.infer<typeof ListInvoicesQuery>

Source: minds-ui/apps/api-service/types/billing.ts:219.

ListInvoicesResponse

ListInvoicesResponse = z.object({
  invoices: z.array(
    BillingInvoice.pick({
      id: true,
      stripe_invoice_id: true,
      amount_due: true,
      amount_paid: true,
      currency: true,
      status: true,
      due_date: true,
      period_start: true,
      period_end: true,
      hosted_invoice_url: true,
      invoice_pdf_url: true,
      paid_at: true,
      created_at: true,
    }),
  ),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/billing.ts:225.

ListInvoicesResponse

export type ListInvoicesResponse = z.infer<typeof ListInvoicesResponse>

Source: minds-ui/apps/api-service/types/billing.ts:250.

UsageSummary

UsageSummary = z.object({
  period_start: z.string().datetime(),
  period_end: z.string().datetime(),
  total_usage: z.number().int(),
  total_cost: z.number(),
  currency: z.string(),
  breakdown: z.record(z.number().int()),
})

Source: minds-ui/apps/api-service/types/billing.ts:256.

UsageSummary

export type UsageSummary = z.infer<typeof UsageSummary>

Source: minds-ui/apps/api-service/types/billing.ts:265.

GetUsageSummaryResponse

GetUsageSummaryResponse = z.object({
  current_period: UsageSummary,
  previous_period: UsageSummary.optional(),
})

Source: minds-ui/apps/api-service/types/billing.ts:271.

GetUsageSummaryResponse

export type GetUsageSummaryResponse = z.infer<typeof GetUsageSummaryResponse>

Source: minds-ui/apps/api-service/types/billing.ts:276.

BillingPortalSessionRequest

BillingPortalSessionRequest = z.object({
  return_url: z.string().url(),
})

Source: minds-ui/apps/api-service/types/billing.ts:282.

BillingPortalSessionRequest

export type BillingPortalSessionRequest = z.infer<typeof BillingPortalSessionRequest>

Source: minds-ui/apps/api-service/types/billing.ts:286.

BillingPortalSessionResponse

BillingPortalSessionResponse = z.object({
  url: z.string().url(),
})

Source: minds-ui/apps/api-service/types/billing.ts:292.

BillingPortalSessionResponse

export type BillingPortalSessionResponse = z.infer<typeof BillingPortalSessionResponse>

Source: minds-ui/apps/api-service/types/billing.ts:296.

PaymentMethod

PaymentMethod = z.object({
  id: z.string(),
  type: z.string(),
  card: z.object({
    brand: z.string(),
    last4: z.string(),
    exp_month: z.number().int(),
    exp_year: z.number().int(),
  }).optional(),
  billing_details: z.object({
    name: z.string().nullable(),
    email: z.string().nullable(),
  }).optional(),
})

Source: minds-ui/apps/api-service/types/billing.ts:302.

PaymentMethod

export type PaymentMethod = z.infer<typeof PaymentMethod>

Source: minds-ui/apps/api-service/types/billing.ts:317.

ListPaymentMethodsResponse

ListPaymentMethodsResponse = z.object({
  payment_methods: z.array(PaymentMethod),
})

Source: minds-ui/apps/api-service/types/billing.ts:323.

ListPaymentMethodsResponse

export type ListPaymentMethodsResponse = z.infer<typeof ListPaymentMethodsResponse>

Source: minds-ui/apps/api-service/types/billing.ts:327.

SetDefaultPaymentMethodRequest

SetDefaultPaymentMethodRequest = z.object({
  payment_method_id: z.string(),
})

Source: minds-ui/apps/api-service/types/billing.ts:333.

SetDefaultPaymentMethodRequest

export type SetDefaultPaymentMethodRequest = z.infer<typeof SetDefaultPaymentMethodRequest>

Source: minds-ui/apps/api-service/types/billing.ts:337.

WebhookEvent

WebhookEvent = z.object({
  id: z.string(),
  type: z.string(),
  data: z.object({
    object: z.record(z.unknown()),
  }),
  created: z.number(),
})

Source: minds-ui/apps/api-service/types/billing.ts:343.

WebhookEvent

export type WebhookEvent = z.infer<typeof WebhookEvent>

Source: minds-ui/apps/api-service/types/billing.ts:352.

PlanLimits

PlanLimits = z.object({
  storage_gb: z.number().int(),
  requests_per_day: z.number().int(),
  hrm_inferences_per_day: z.number().int(),
  concurrent_connections: z.number().int(),
  backup_retention_days: z.number().int(),
})

Source: minds-ui/apps/api-service/types/billing.ts:358.

PlanLimits

export type PlanLimits = z.infer<typeof PlanLimits>

Source: minds-ui/apps/api-service/types/billing.ts:366.

PlanPricing

PlanPricing = z.object({
  base_price: z.number(),
  currency: z.string(),
  billing_interval: z.enum(['month', 'year']),
  overage_rates: z.record(z.number()).optional(),
})

Source: minds-ui/apps/api-service/types/billing.ts:372.

PlanPricing

export type PlanPricing = z.infer<typeof PlanPricing>

Source: minds-ui/apps/api-service/types/billing.ts:379.

Plan

Plan = z.object({
  id: z.string(),
  name: z.string(),
  display_name: z.string(),
  description: z.string(),
  limits: PlanLimits,
  pricing: PlanPricing,
  features: z.array(z.string()),
  enabled: z.boolean(),
  beta_only: z.boolean(),
})

Source: minds-ui/apps/api-service/types/billing.ts:385.

Plan

export type Plan = z.infer<typeof Plan>

Source: minds-ui/apps/api-service/types/billing.ts:397.

ListPlansResponse

ListPlansResponse = z.object({
  plans: z.array(Plan),
})

Source: minds-ui/apps/api-service/types/billing.ts:403.

ListPlansResponse

export type ListPlansResponse = z.infer<typeof ListPlansResponse>

Source: minds-ui/apps/api-service/types/billing.ts:407.

minds-ui/apps/api-service/types/cache.ts

CacheOperation

CacheOperation = z.enum([
  'get',
  'set',
  'delete',
  'exists',
  'expire',
  'ttl',
  'flush',
  'keys',
  'increment',
  'decrement',
])

Source: minds-ui/apps/api-service/types/cache.ts:7.

CacheOperation

export type CacheOperation = z.infer<typeof CacheOperation>

Source: minds-ui/apps/api-service/types/cache.ts:20.

CacheKey

CacheKey = z.object({
  key: z.string(),
  value: z.unknown(),
  ttl_seconds: z.number().int().optional(),
  created_at: z.string().datetime(),
  expires_at: z.string().datetime().nullable(),
})

Source: minds-ui/apps/api-service/types/cache.ts:26.

CacheKey

export type CacheKey = z.infer<typeof CacheKey>

Source: minds-ui/apps/api-service/types/cache.ts:34.

CacheGetRequest

CacheGetRequest = z.object({
  key: z.string(),
})

Source: minds-ui/apps/api-service/types/cache.ts:40.

CacheGetRequest

export type CacheGetRequest = z.infer<typeof CacheGetRequest>

Source: minds-ui/apps/api-service/types/cache.ts:44.

CacheGetResponse

CacheGetResponse = z.object({
  key: z.string(),
  value: z.unknown(),
  exists: z.boolean(),
  ttl_seconds: z.number().int().nullable(),
  created_at: z.string().datetime(),
  expires_at: z.string().datetime().nullable(),
})

Source: minds-ui/apps/api-service/types/cache.ts:50.

CacheGetResponse

export type CacheGetResponse = z.infer<typeof CacheGetResponse>

Source: minds-ui/apps/api-service/types/cache.ts:59.

CacheSetRequest

CacheSetRequest = z.object({
  value: z.unknown(),
  ttl_seconds: z.number().int().min(1).optional(),
  nx: z.boolean().optional().default(false), // Only set if not exists
  xx: z.boolean().optional().default(false), // Only set if exists
})

Source: minds-ui/apps/api-service/types/cache.ts:65.

CacheSetRequest

export type CacheSetRequest = z.infer<typeof CacheSetRequest>

Source: minds-ui/apps/api-service/types/cache.ts:72.

CacheSetResponse

CacheSetResponse = z.object({
  key: z.string(),
  set: z.boolean(),
  ttl_seconds: z.number().int().nullable(),
  created_at: z.string().datetime(),
  expires_at: z.string().datetime().nullable(),
})

Source: minds-ui/apps/api-service/types/cache.ts:78.

CacheSetResponse

export type CacheSetResponse = z.infer<typeof CacheSetResponse>

Source: minds-ui/apps/api-service/types/cache.ts:86.

CacheDeleteRequest

CacheDeleteRequest = z.object({
  key: z.string(),
})

Source: minds-ui/apps/api-service/types/cache.ts:92.

CacheDeleteRequest

export type CacheDeleteRequest = z.infer<typeof CacheDeleteRequest>

Source: minds-ui/apps/api-service/types/cache.ts:96.

CacheDeleteResponse

CacheDeleteResponse = z.object({
  key: z.string(),
  deleted: z.boolean(),
})

Source: minds-ui/apps/api-service/types/cache.ts:102.

CacheDeleteResponse

export type CacheDeleteResponse = z.infer<typeof CacheDeleteResponse>

Source: minds-ui/apps/api-service/types/cache.ts:107.

CacheExistsRequest

CacheExistsRequest = z.object({
  key: z.string(),
})

Source: minds-ui/apps/api-service/types/cache.ts:113.

CacheExistsRequest

export type CacheExistsRequest = z.infer<typeof CacheExistsRequest>

Source: minds-ui/apps/api-service/types/cache.ts:117.

CacheExistsResponse

CacheExistsResponse = z.object({
  key: z.string(),
  exists: z.boolean(),
  ttl_seconds: z.number().int().nullable(),
})

Source: minds-ui/apps/api-service/types/cache.ts:123.

CacheExistsResponse

export type CacheExistsResponse = z.infer<typeof CacheExistsResponse>

Source: minds-ui/apps/api-service/types/cache.ts:129.

CacheTTLRequest

CacheTTLRequest = z.object({
  key: z.string(),
})

Source: minds-ui/apps/api-service/types/cache.ts:135.

CacheTTLRequest

export type CacheTTLRequest = z.infer<typeof CacheTTLRequest>

Source: minds-ui/apps/api-service/types/cache.ts:139.

CacheTTLResponse

CacheTTLResponse = z.object({
  key: z.string(),
  ttl_seconds: z.number().int().nullable(),
  expires_at: z.string().datetime().nullable(),
})

Source: minds-ui/apps/api-service/types/cache.ts:145.

CacheTTLResponse

export type CacheTTLResponse = z.infer<typeof CacheTTLResponse>

Source: minds-ui/apps/api-service/types/cache.ts:151.

CacheExpireRequest

CacheExpireRequest = z.object({
  key: z.string(),
  ttl_seconds: z.number().int().min(1),
})

Source: minds-ui/apps/api-service/types/cache.ts:157.

CacheExpireRequest

export type CacheExpireRequest = z.infer<typeof CacheExpireRequest>

Source: minds-ui/apps/api-service/types/cache.ts:162.

CacheExpireResponse

CacheExpireResponse = z.object({
  key: z.string(),
  expired: z.boolean(),
  ttl_seconds: z.number().int(),
  expires_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/cache.ts:168.

CacheExpireResponse

export type CacheExpireResponse = z.infer<typeof CacheExpireResponse>

Source: minds-ui/apps/api-service/types/cache.ts:175.

CacheKeysQuery

CacheKeysQuery = z.object({
  pattern: z.string().optional(),
  limit: z.coerce.number().int().min(1).max(1000).default(100),
  offset: z.coerce.number().int().min(0).default(0),
})

Source: minds-ui/apps/api-service/types/cache.ts:181.

CacheKeysQuery

export type CacheKeysQuery = z.infer<typeof CacheKeysQuery>

Source: minds-ui/apps/api-service/types/cache.ts:187.

CacheKeysResponse

CacheKeysResponse = z.object({
  keys: z.array(z.string()),
  total: z.number().int(),
  pattern: z.string().optional(),
})

Source: minds-ui/apps/api-service/types/cache.ts:193.

CacheKeysResponse

export type CacheKeysResponse = z.infer<typeof CacheKeysResponse>

Source: minds-ui/apps/api-service/types/cache.ts:199.

CacheFlushRequest

CacheFlushRequest = z.object({
  pattern: z.string().optional(),
  confirm: z.boolean().optional().default(false),
})

Source: minds-ui/apps/api-service/types/cache.ts:205.

CacheFlushRequest

export type CacheFlushRequest = z.infer<typeof CacheFlushRequest>

Source: minds-ui/apps/api-service/types/cache.ts:210.

CacheFlushResponse

CacheFlushResponse = z.object({
  flushed: z.number().int(),
  pattern: z.string().optional(),
  flushed_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/cache.ts:216.

CacheFlushResponse

export type CacheFlushResponse = z.infer<typeof CacheFlushResponse>

Source: minds-ui/apps/api-service/types/cache.ts:222.

CacheIncrementRequest

CacheIncrementRequest = z.object({
  key: z.string(),
  value: z.number().int().optional().default(1),
  ttl_seconds: z.number().int().min(1).optional(),
})

Source: minds-ui/apps/api-service/types/cache.ts:228.

CacheIncrementRequest

export type CacheIncrementRequest = z.infer<typeof CacheIncrementRequest>

Source: minds-ui/apps/api-service/types/cache.ts:234.

CacheIncrementResponse

CacheIncrementResponse = z.object({
  key: z.string(),
  value: z.number().int(),
  ttl_seconds: z.number().int().nullable(),
})

Source: minds-ui/apps/api-service/types/cache.ts:240.

CacheIncrementResponse

export type CacheIncrementResponse = z.infer<typeof CacheIncrementResponse>

Source: minds-ui/apps/api-service/types/cache.ts:246.

CacheDecrementRequest

CacheDecrementRequest = z.object({
  key: z.string(),
  value: z.number().int().optional().default(1),
  ttl_seconds: z.number().int().min(1).optional(),
})

Source: minds-ui/apps/api-service/types/cache.ts:252.

CacheDecrementRequest

export type CacheDecrementRequest = z.infer<typeof CacheDecrementRequest>

Source: minds-ui/apps/api-service/types/cache.ts:258.

CacheDecrementResponse

CacheDecrementResponse = z.object({
  key: z.string(),
  value: z.number().int(),
  ttl_seconds: z.number().int().nullable(),
})

Source: minds-ui/apps/api-service/types/cache.ts:264.

CacheDecrementResponse

export type CacheDecrementResponse = z.infer<typeof CacheDecrementResponse>

Source: minds-ui/apps/api-service/types/cache.ts:270.

CacheStats

CacheStats = z.object({
  total_keys: z.number().int(),
  memory_usage_mb: z.number(),
  hit_rate_percent: z.number().min(0).max(100),
  miss_rate_percent: z.number().min(0).max(100),
  evictions_per_second: z.number(),
  operations_per_second: z.number(),
  average_ttl_seconds: z.number().optional(),
  period_start: z.string().datetime(),
  period_end: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/cache.ts:276.

CacheStats

export type CacheStats = z.infer<typeof CacheStats>

Source: minds-ui/apps/api-service/types/cache.ts:288.

GetCacheStatsResponse

GetCacheStatsResponse = z.object({
  stats: CacheStats,
  period: z.object({
    start: z.string().datetime(),
    end: z.string().datetime(),
  }),
})

Source: minds-ui/apps/api-service/types/cache.ts:294.

GetCacheStatsResponse

export type GetCacheStatsResponse = z.infer<typeof GetCacheStatsResponse>

Source: minds-ui/apps/api-service/types/cache.ts:302.

CacheConfig

CacheConfig = z.object({
  max_memory_mb: z.number().int().min(1),
  max_keys: z.number().int().min(1),
  default_ttl_seconds: z.number().int().min(1),
  eviction_policy: z.enum(['lru', 'lfu', 'ttl', 'random']),
  compression_enabled: z.boolean(),
  persistence_enabled: z.boolean(),
  cluster_enabled: z.boolean(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/cache.ts:308.

CacheConfig

export type CacheConfig = z.infer<typeof CacheConfig>

Source: minds-ui/apps/api-service/types/cache.ts:320.

UpdateCacheConfigRequest

UpdateCacheConfigRequest = z.object({
  max_memory_mb: z.number().int().min(1).optional(),
  max_keys: z.number().int().min(1).optional(),
  default_ttl_seconds: z.number().int().min(1).optional(),
  eviction_policy: z.enum(['lru', 'lfu', 'ttl', 'random']).optional(),
  compression_enabled: z.boolean().optional(),
  persistence_enabled: z.boolean().optional(),
  cluster_enabled: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/cache.ts:326.

UpdateCacheConfigRequest

export type UpdateCacheConfigRequest = z.infer<typeof UpdateCacheConfigRequest>

Source: minds-ui/apps/api-service/types/cache.ts:336.

GetCacheConfigResponse

GetCacheConfigResponse = z.object({
  config: CacheConfig,
})

Source: minds-ui/apps/api-service/types/cache.ts:342.

GetCacheConfigResponse

export type GetCacheConfigResponse = z.infer<typeof GetCacheConfigResponse>

Source: minds-ui/apps/api-service/types/cache.ts:346.

CacheHealthCheck

CacheHealthCheck = z.object({
  status: z.enum(['healthy', 'degraded', 'down']),
  connected: z.boolean(),
  memory_usage_percent: z.number().min(0).max(100),
  hit_rate_percent: z.number().min(0).max(100),
  response_time_ms: z.number(),
  last_check: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/cache.ts:352.

CacheHealthCheck

export type CacheHealthCheck = z.infer<typeof CacheHealthCheck>

Source: minds-ui/apps/api-service/types/cache.ts:361.

GetCacheHealthResponse

GetCacheHealthResponse = z.object({
  health: CacheHealthCheck,
})

Source: minds-ui/apps/api-service/types/cache.ts:367.

GetCacheHealthResponse

export type GetCacheHealthResponse = z.infer<typeof GetCacheHealthResponse>

Source: minds-ui/apps/api-service/types/cache.ts:371.

CacheNamespace

CacheNamespace = z.object({
  name: z.string(),
  description: z.string().optional(),
  ttl_seconds: z.number().int().min(1).optional(),
  max_keys: z.number().int().min(1).optional(),
  enabled: z.boolean(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/cache.ts:377.

CacheNamespace

export type CacheNamespace = z.infer<typeof CacheNamespace>

Source: minds-ui/apps/api-service/types/cache.ts:387.

CreateCacheNamespaceRequest

CreateCacheNamespaceRequest = z.object({
  name: z.string().min(1).max(100),
  description: z.string().max(500).optional(),
  ttl_seconds: z.number().int().min(1).optional(),
  max_keys: z.number().int().min(1).optional(),
})

Source: minds-ui/apps/api-service/types/cache.ts:393.

CreateCacheNamespaceRequest

export type CreateCacheNamespaceRequest = z.infer<typeof CreateCacheNamespaceRequest>

Source: minds-ui/apps/api-service/types/cache.ts:400.

UpdateCacheNamespaceRequest

UpdateCacheNamespaceRequest = z.object({
  description: z.string().max(500).optional(),
  ttl_seconds: z.number().int().min(1).optional(),
  max_keys: z.number().int().min(1).optional(),
  enabled: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/cache.ts:406.

UpdateCacheNamespaceRequest

export type UpdateCacheNamespaceRequest = z.infer<typeof UpdateCacheNamespaceRequest>

Source: minds-ui/apps/api-service/types/cache.ts:413.

ListCacheNamespacesResponse

ListCacheNamespacesResponse = z.object({
  namespaces: z.array(CacheNamespace),
})

Source: minds-ui/apps/api-service/types/cache.ts:419.

ListCacheNamespacesResponse

export type ListCacheNamespacesResponse = z.infer<typeof ListCacheNamespacesResponse>

Source: minds-ui/apps/api-service/types/cache.ts:423.

CacheNamespaceStats

CacheNamespaceStats = z.object({
  namespace: z.string(),
  total_keys: z.number().int(),
  memory_usage_mb: z.number(),
  hit_rate_percent: z.number().min(0).max(100),
  operations_per_second: z.number(),
  average_ttl_seconds: z.number().optional(),
  period_start: z.string().datetime(),
  period_end: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/cache.ts:429.

CacheNamespaceStats

export type CacheNamespaceStats = z.infer<typeof CacheNamespaceStats>

Source: minds-ui/apps/api-service/types/cache.ts:440.

GetCacheNamespaceStatsResponse

GetCacheNamespaceStatsResponse = z.object({
  stats: CacheNamespaceStats,
  period: z.object({
    start: z.string().datetime(),
    end: z.string().datetime(),
  }),
})

Source: minds-ui/apps/api-service/types/cache.ts:446.

GetCacheNamespaceStatsResponse

export type GetCacheNamespaceStatsResponse = z.infer<typeof GetCacheNamespaceStatsResponse>

Source: minds-ui/apps/api-service/types/cache.ts:454.

minds-ui/apps/api-service/types/config.ts

ConfigKey

ConfigKey = z.enum([
  'app_name',
  'app_version',
  'environment',
  'debug_mode',
  'log_level',
  'database_url',
  'redis_url',
  'stripe_secret_key',
  'stripe_webhook_secret',
  'jwt_secret',
  'encryption_key',
  'cors_origins',
  'rate_limit_requests',
  'rate_limit_window',
  'backup_retention_days',
  'session_expiry_hours',
  'api_key_expiry_days',
  'max_tenants_per_org',
  'max_users_per_org',
  'default_tenant_plan',
  'default_region',
  'ingress_target',
  'dns_provider',
  'monitoring_enabled',
  'analytics_enabled',
  'notifications_enabled',
])

Source: minds-ui/apps/api-service/types/config.ts:7.

ConfigKey

export type ConfigKey = z.infer<typeof ConfigKey>

Source: minds-ui/apps/api-service/types/config.ts:36.

ConfigValueType

ConfigValueType = z.enum([
  'string',
  'number',
  'boolean',
  'json',
  'array',
])

Source: minds-ui/apps/api-service/types/config.ts:42.

ConfigValueType

export type ConfigValueType = z.infer<typeof ConfigValueType>

Source: minds-ui/apps/api-service/types/config.ts:50.

Config

Config = z.object({
  key: ConfigKey,
  value: z.unknown(),
  type: ConfigValueType,
  description: z.string().optional(),
  required: z.boolean().optional().default(false),
  sensitive: z.boolean().optional().default(false),
  environment: z.string().optional(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/config.ts:56.

Config

export type Config = z.infer<typeof Config>

Source: minds-ui/apps/api-service/types/config.ts:68.

UpdateConfigRequest

UpdateConfigRequest = z.object({
  key: ConfigKey,
  value: z.unknown(),
})

Source: minds-ui/apps/api-service/types/config.ts:74.

UpdateConfigRequest

export type UpdateConfigRequest = z.infer<typeof UpdateConfigRequest>

Source: minds-ui/apps/api-service/types/config.ts:79.

ListConfigResponse

ListConfigResponse = z.object({
  config: z.array(Config),
})

Source: minds-ui/apps/api-service/types/config.ts:85.

ListConfigResponse

export type ListConfigResponse = z.infer<typeof ListConfigResponse>

Source: minds-ui/apps/api-service/types/config.ts:89.

ConfigValidation

ConfigValidation = z.object({
  key: ConfigKey,
  valid: z.boolean(),
  errors: z.array(z.string()).optional(),
  warnings: z.array(z.string()).optional(),
})

Source: minds-ui/apps/api-service/types/config.ts:95.

ConfigValidation

export type ConfigValidation = z.infer<typeof ConfigValidation>

Source: minds-ui/apps/api-service/types/config.ts:102.

ValidateConfigResponse

ValidateConfigResponse = z.object({
  valid: z.boolean(),
  validations: z.array(ConfigValidation),
})

Source: minds-ui/apps/api-service/types/config.ts:108.

ValidateConfigResponse

export type ValidateConfigResponse = z.infer<typeof ValidateConfigResponse>

Source: minds-ui/apps/api-service/types/config.ts:113.

ConfigTemplate

ConfigTemplate = z.object({
  id: z.string(),
  name: z.string(),
  description: z.string().optional(),
  environment: z.string(),
  config: z.record(z.unknown()),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/config.ts:119.

ConfigTemplate

export type ConfigTemplate = z.infer<typeof ConfigTemplate>

Source: minds-ui/apps/api-service/types/config.ts:129.

CreateConfigTemplateRequest

CreateConfigTemplateRequest = z.object({
  name: z.string().min(1).max(100),
  description: z.string().max(500).optional(),
  environment: z.string(),
  config: z.record(z.unknown()),
})

Source: minds-ui/apps/api-service/types/config.ts:135.

CreateConfigTemplateRequest

export type CreateConfigTemplateRequest = z.infer<typeof CreateConfigTemplateRequest>

Source: minds-ui/apps/api-service/types/config.ts:142.

UpdateConfigTemplateRequest

UpdateConfigTemplateRequest = z.object({
  name: z.string().min(1).max(100).optional(),
  description: z.string().max(500).optional(),
  environment: z.string().optional(),
  config: z.record(z.unknown()).optional(),
})

Source: minds-ui/apps/api-service/types/config.ts:148.

UpdateConfigTemplateRequest

export type UpdateConfigTemplateRequest = z.infer<typeof UpdateConfigTemplateRequest>

Source: minds-ui/apps/api-service/types/config.ts:155.

ListConfigTemplatesResponse

ListConfigTemplatesResponse = z.object({
  templates: z.array(ConfigTemplate),
})

Source: minds-ui/apps/api-service/types/config.ts:161.

ListConfigTemplatesResponse

export type ListConfigTemplatesResponse = z.infer<typeof ListConfigTemplatesResponse>

Source: minds-ui/apps/api-service/types/config.ts:165.

ConfigMigration

ConfigMigration = z.object({
  id: z.string(),
  version: z.string(),
  description: z.string(),
  from_version: z.string().optional(),
  to_version: z.string(),
  migration_script: z.string().optional(),
  rollback_script: z.string().optional(),
  applied: z.boolean(),
  applied_at: z.string().datetime().nullable(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/config.ts:171.

ConfigMigration

export type ConfigMigration = z.infer<typeof ConfigMigration>

Source: minds-ui/apps/api-service/types/config.ts:184.

ListConfigMigrationsResponse

ListConfigMigrationsResponse = z.object({
  migrations: z.array(ConfigMigration),
})

Source: minds-ui/apps/api-service/types/config.ts:190.

ListConfigMigrationsResponse

export type ListConfigMigrationsResponse = z.infer<typeof ListConfigMigrationsResponse>

Source: minds-ui/apps/api-service/types/config.ts:194.

ApplyConfigMigrationRequest

ApplyConfigMigrationRequest = z.object({
  migration_id: z.string(),
  dry_run: z.boolean().optional().default(false),
})

Source: minds-ui/apps/api-service/types/config.ts:200.

ApplyConfigMigrationRequest

export type ApplyConfigMigrationRequest = z.infer<typeof ApplyConfigMigrationRequest>

Source: minds-ui/apps/api-service/types/config.ts:205.

ApplyConfigMigrationResponse

ApplyConfigMigrationResponse = z.object({
  migration_id: z.string(),
  applied: z.boolean(),
  dry_run: z.boolean(),
  changes: z.array(z.object({
    key: ConfigKey,
    old_value: z.unknown().optional(),
    new_value: z.unknown(),
  })).optional(),
  applied_at: z.string().datetime().optional(),
})

Source: minds-ui/apps/api-service/types/config.ts:211.

ApplyConfigMigrationResponse

export type ApplyConfigMigrationResponse = z.infer<typeof ApplyConfigMigrationResponse>

Source: minds-ui/apps/api-service/types/config.ts:223.

ConfigBackup

ConfigBackup = z.object({
  id: z.string(),
  name: z.string(),
  description: z.string().optional(),
  config_snapshot: z.record(z.unknown()),
  environment: z.string(),
  created_by: z.string(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/config.ts:229.

ConfigBackup

export type ConfigBackup = z.infer<typeof ConfigBackup>

Source: minds-ui/apps/api-service/types/config.ts:239.

CreateConfigBackupRequest

CreateConfigBackupRequest = z.object({
  name: z.string().min(1).max(100),
  description: z.string().max(500).optional(),
  environment: z.string().optional(),
})

Source: minds-ui/apps/api-service/types/config.ts:245.

CreateConfigBackupRequest

export type CreateConfigBackupRequest = z.infer<typeof CreateConfigBackupRequest>

Source: minds-ui/apps/api-service/types/config.ts:251.

RestoreConfigBackupRequest

RestoreConfigBackupRequest = z.object({
  backup_id: z.string(),
  dry_run: z.boolean().optional().default(false),
})

Source: minds-ui/apps/api-service/types/config.ts:257.

RestoreConfigBackupRequest

export type RestoreConfigBackupRequest = z.infer<typeof RestoreConfigBackupRequest>

Source: minds-ui/apps/api-service/types/config.ts:262.

RestoreConfigBackupResponse

RestoreConfigBackupResponse = z.object({
  backup_id: z.string(),
  restored: z.boolean(),
  dry_run: z.boolean(),
  changes: z.array(z.object({
    key: ConfigKey,
    old_value: z.unknown().optional(),
    new_value: z.unknown(),
  })).optional(),
  restored_at: z.string().datetime().optional(),
})

Source: minds-ui/apps/api-service/types/config.ts:268.

RestoreConfigBackupResponse

export type RestoreConfigBackupResponse = z.infer<typeof RestoreConfigBackupResponse>

Source: minds-ui/apps/api-service/types/config.ts:280.

ListConfigBackupsResponse

ListConfigBackupsResponse = z.object({
  backups: z.array(ConfigBackup),
})

Source: minds-ui/apps/api-service/types/config.ts:286.

ListConfigBackupsResponse

export type ListConfigBackupsResponse = z.infer<typeof ListConfigBackupsResponse>

Source: minds-ui/apps/api-service/types/config.ts:290.

ConfigEnvironment

ConfigEnvironment = z.object({
  name: z.string(),
  description: z.string().optional(),
  config: z.record(z.unknown()),
  variables: z.record(z.string()).optional(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/config.ts:296.

ConfigEnvironment

export type ConfigEnvironment = z.infer<typeof ConfigEnvironment>

Source: minds-ui/apps/api-service/types/config.ts:305.

ListConfigEnvironmentsResponse

ListConfigEnvironmentsResponse = z.object({
  environments: z.array(ConfigEnvironment),
})

Source: minds-ui/apps/api-service/types/config.ts:311.

ListConfigEnvironmentsResponse

export type ListConfigEnvironmentsResponse = z.infer<typeof ListConfigEnvironmentsResponse>

Source: minds-ui/apps/api-service/types/config.ts:315.

ConfigSecret

ConfigSecret = z.object({
  key: ConfigKey,
  encrypted_value: z.string(),
  description: z.string().optional(),
  environment: z.string().optional(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/config.ts:321.

ConfigSecret

export type ConfigSecret = z.infer<typeof ConfigSecret>

Source: minds-ui/apps/api-service/types/config.ts:330.

UpdateConfigSecretRequest

UpdateConfigSecretRequest = z.object({
  key: ConfigKey,
  value: z.string(),
})

Source: minds-ui/apps/api-service/types/config.ts:336.

UpdateConfigSecretRequest

export type UpdateConfigSecretRequest = z.infer<typeof UpdateConfigSecretRequest>

Source: minds-ui/apps/api-service/types/config.ts:341.

ListConfigSecretsResponse

ListConfigSecretsResponse = z.object({
  secrets: z.array(ConfigSecret.omit({ encrypted_value: true })),
})

Source: minds-ui/apps/api-service/types/config.ts:347.

ListConfigSecretsResponse

export type ListConfigSecretsResponse = z.infer<typeof ListConfigSecretsResponse>

Source: minds-ui/apps/api-service/types/config.ts:351.

minds-ui/apps/api-service/types/errors.ts

ErrorCode

ErrorCode = z.enum([
  'INVALID_REQUEST',
  'AUTHENTICATION_REQUIRED',
  'PERMISSION_DENIED',
  'RESOURCE_NOT_FOUND',
  'CONFLICT',
  'RATE_LIMIT_EXCEEDED',
  'PROVISIONING_FAILED',
  'INTERNAL_ERROR',
  'SERVICE_UNAVAILABLE',
])

Source: minds-ui/apps/api-service/types/errors.ts:7.

ErrorCode

export type ErrorCode = z.infer<typeof ErrorCode>

Source: minds-ui/apps/api-service/types/errors.ts:19.

ApiErrorResponse

ApiErrorResponse = z.object({
  error: z.object({
    code: ErrorCode,
    message: z.string(),
    details: z.unknown().optional(),
    request_id: z.string(),
  }),
})

Source: minds-ui/apps/api-service/types/errors.ts:25.

ApiErrorResponse

export type ApiErrorResponse = z.infer<typeof ApiErrorResponse>

Source: minds-ui/apps/api-service/types/errors.ts:34.

minds-ui/apps/api-service/types/health.ts

HealthStatus

HealthStatus = z.enum([
  'healthy',
  'degraded',
  'down',
])

Source: minds-ui/apps/api-service/types/health.ts:7.

HealthStatus

export type HealthStatus = z.infer<typeof HealthStatus>

Source: minds-ui/apps/api-service/types/health.ts:13.

HealthCheck

HealthCheck = z.object({
  name: z.string(),
  status: HealthStatus,
  message: z.string().optional(),
  duration_ms: z.number().optional(),
  metadata: z.record(z.unknown()).optional(),
})

Source: minds-ui/apps/api-service/types/health.ts:19.

HealthCheck

export type HealthCheck = z.infer<typeof HealthCheck>

Source: minds-ui/apps/api-service/types/health.ts:27.

HealthResponse

HealthResponse = z.object({
  status: HealthStatus,
  timestamp: z.string().datetime(),
  version: z.string().optional(),
  uptime_seconds: z.number().optional(),
  checks: z.array(HealthCheck),
})

Source: minds-ui/apps/api-service/types/health.ts:33.

HealthResponse

export type HealthResponse = z.infer<typeof HealthResponse>

Source: minds-ui/apps/api-service/types/health.ts:41.

DatabaseHealthCheck

DatabaseHealthCheck = z.object({
  connected: z.boolean(),
  response_time_ms: z.number().optional(),
  active_connections: z.number().int().optional(),
  max_connections: z.number().int().optional(),
  database_size_mb: z.number().optional(),
  last_backup: z.string().datetime().optional(),
})

Source: minds-ui/apps/api-service/types/health.ts:47.

DatabaseHealthCheck

export type DatabaseHealthCheck = z.infer<typeof DatabaseHealthCheck>

Source: minds-ui/apps/api-service/types/health.ts:56.

StorageHealthCheck

StorageHealthCheck = z.object({
  accessible: z.boolean(),
  total_space_gb: z.number().optional(),
  used_space_gb: z.number().optional(),
  available_space_gb: z.number().optional(),
  iops: z.number().optional(),
  latency_ms: z.number().optional(),
})

Source: minds-ui/apps/api-service/types/health.ts:62.

StorageHealthCheck

export type StorageHealthCheck = z.infer<typeof StorageHealthCheck>

Source: minds-ui/apps/api-service/types/health.ts:71.

CacheHealthCheck

CacheHealthCheck = z.object({
  connected: z.boolean(),
  hit_rate_percent: z.number().min(0).max(100).optional(),
  memory_usage_mb: z.number().optional(),
  evictions_per_second: z.number().optional(),
  response_time_ms: z.number().optional(),
})

Source: minds-ui/apps/api-service/types/health.ts:77.

CacheHealthCheck

export type CacheHealthCheck = z.infer<typeof CacheHealthCheck>

Source: minds-ui/apps/api-service/types/health.ts:85.

ExternalServiceHealthCheck

ExternalServiceHealthCheck = z.object({
  name: z.string(),
  url: z.string().url(),
  status: HealthStatus,
  response_time_ms: z.number().optional(),
  last_check: z.string().datetime().optional(),
  error_rate_percent: z.number().min(0).max(100).optional(),
})

Source: minds-ui/apps/api-service/types/health.ts:91.

ExternalServiceHealthCheck

export type ExternalServiceHealthCheck = z.infer<typeof ExternalServiceHealthCheck>

Source: minds-ui/apps/api-service/types/health.ts:100.

SystemResourcesHealthCheck

SystemResourcesHealthCheck = z.object({
  cpu_usage_percent: z.number().min(0).max(100),
  memory_usage_percent: z.number().min(0).max(100),
  disk_usage_percent: z.number().min(0).max(100),
  network_io_mbps: z.number().optional(),
  load_average: z.number().optional(),
})

Source: minds-ui/apps/api-service/types/health.ts:106.

SystemResourcesHealthCheck

export type SystemResourcesHealthCheck = z.infer<typeof SystemResourcesHealthCheck>

Source: minds-ui/apps/api-service/types/health.ts:114.

DetailedHealthResponse

DetailedHealthResponse = z.object({
  status: HealthStatus,
  timestamp: z.string().datetime(),
  version: z.string().optional(),
  uptime_seconds: z.number().optional(),
  checks: z.object({
    database: DatabaseHealthCheck.optional(),
    storage: StorageHealthCheck.optional(),
    cache: CacheHealthCheck.optional(),
    external_services: z.array(ExternalServiceHealthCheck).optional(),
    system_resources: SystemResourcesHealthCheck.optional(),
  }),
  metadata: z.record(z.unknown()).optional(),
})

Source: minds-ui/apps/api-service/types/health.ts:120.

DetailedHealthResponse

export type DetailedHealthResponse = z.infer<typeof DetailedHealthResponse>

Source: minds-ui/apps/api-service/types/health.ts:135.

HealthCheckConfig

HealthCheckConfig = z.object({
  enabled: z.boolean(),
  interval_seconds: z.number().int().min(1),
  timeout_seconds: z.number().int().min(1),
  retry_count: z.number().int().min(0),
  failure_threshold: z.number().int().min(1),
})

Source: minds-ui/apps/api-service/types/health.ts:141.

HealthCheckConfig

export type HealthCheckConfig = z.infer<typeof HealthCheckConfig>

Source: minds-ui/apps/api-service/types/health.ts:149.

HealthCheckResult

HealthCheckResult = z.object({
  id: z.string(),
  check_name: z.string(),
  status: HealthStatus,
  message: z.string().optional(),
  duration_ms: z.number().optional(),
  metadata: z.record(z.unknown()).optional(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/health.ts:155.

HealthCheckResult

export type HealthCheckResult = z.infer<typeof HealthCheckResult>

Source: minds-ui/apps/api-service/types/health.ts:165.

ListHealthCheckResultsQuery

ListHealthCheckResultsQuery = z.object({
  limit: z.coerce.number().int().min(1).max(1000).default(100),
  offset: z.coerce.number().int().min(0).default(0),
  check_name: z.string().optional(),
  status: HealthStatus.optional(),
  start_date: z.string().datetime().optional(),
  end_date: z.string().datetime().optional(),
})

Source: minds-ui/apps/api-service/types/health.ts:171.

ListHealthCheckResultsQuery

export type ListHealthCheckResultsQuery = z.infer<typeof ListHealthCheckResultsQuery>

Source: minds-ui/apps/api-service/types/health.ts:180.

ListHealthCheckResultsResponse

ListHealthCheckResultsResponse = z.object({
  results: z.array(HealthCheckResult),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/health.ts:186.

ListHealthCheckResultsResponse

export type ListHealthCheckResultsResponse = z.infer<typeof ListHealthCheckResultsResponse>

Source: minds-ui/apps/api-service/types/health.ts:195.

HealthMetrics

HealthMetrics = z.object({
  uptime_percent: z.number().min(0).max(100),
  average_response_time_ms: z.number(),
  error_rate_percent: z.number().min(0).max(100),
  total_checks: z.number().int(),
  successful_checks: z.number().int(),
  failed_checks: z.number().int(),
  period_start: z.string().datetime(),
  period_end: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/health.ts:201.

HealthMetrics

export type HealthMetrics = z.infer<typeof HealthMetrics>

Source: minds-ui/apps/api-service/types/health.ts:212.

GetHealthMetricsResponse

GetHealthMetricsResponse = z.object({
  metrics: HealthMetrics,
  period: z.object({
    start: z.string().datetime(),
    end: z.string().datetime(),
  }),
})

Source: minds-ui/apps/api-service/types/health.ts:218.

GetHealthMetricsResponse

export type GetHealthMetricsResponse = z.infer<typeof GetHealthMetricsResponse>

Source: minds-ui/apps/api-service/types/health.ts:226.

HealthAlert

HealthAlert = z.object({
  id: z.string(),
  check_name: z.string(),
  status: HealthStatus,
  message: z.string(),
  severity: z.enum(['low', 'medium', 'high', 'critical']),
  acknowledged: z.boolean(),
  acknowledged_by: z.string().optional(),
  acknowledged_at: z.string().datetime().optional(),
  created_at: z.string().datetime(),
  resolved_at: z.string().datetime().optional(),
})

Source: minds-ui/apps/api-service/types/health.ts:232.

HealthAlert

export type HealthAlert = z.infer<typeof HealthAlert>

Source: minds-ui/apps/api-service/types/health.ts:245.

ListHealthAlertsQuery

ListHealthAlertsQuery = z.object({
  limit: z.coerce.number().int().min(1).max(100).default(20),
  offset: z.coerce.number().int().min(0).default(0),
  status: HealthStatus.optional(),
  severity: z.enum(['low', 'medium', 'high', 'critical']).optional(),
  acknowledged: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/health.ts:251.

ListHealthAlertsQuery

export type ListHealthAlertsQuery = z.infer<typeof ListHealthAlertsQuery>

Source: minds-ui/apps/api-service/types/health.ts:259.

ListHealthAlertsResponse

ListHealthAlertsResponse = z.object({
  alerts: z.array(HealthAlert),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/health.ts:265.

ListHealthAlertsResponse

export type ListHealthAlertsResponse = z.infer<typeof ListHealthAlertsResponse>

Source: minds-ui/apps/api-service/types/health.ts:274.

AcknowledgeHealthAlertRequest

AcknowledgeHealthAlertRequest = z.object({
  message: z.string().max(500).optional(),
})

Source: minds-ui/apps/api-service/types/health.ts:280.

AcknowledgeHealthAlertRequest

export type AcknowledgeHealthAlertRequest = z.infer<typeof AcknowledgeHealthAlertRequest>

Source: minds-ui/apps/api-service/types/health.ts:284.

AcknowledgeHealthAlertResponse

AcknowledgeHealthAlertResponse = z.object({
  alert_id: z.string(),
  acknowledged: z.boolean(),
  acknowledged_by: z.string(),
  acknowledged_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/health.ts:290.

AcknowledgeHealthAlertResponse

export type AcknowledgeHealthAlertResponse = z.infer<typeof AcknowledgeHealthAlertResponse>

Source: minds-ui/apps/api-service/types/health.ts:297.

minds-ui/apps/api-service/types/integrations.ts

StripeCustomer

export interface StripeCustomer {
  id: string;
  email: string;
  name?: string;
  metadata: Record<string, string>;
}

Source: minds-ui/apps/api-service/types/integrations.ts:20.

StripeSubscription

export interface StripeSubscription {
  id: string;
  customer_id: string;
  status: 'active' | 'canceled' | 'past_due' | 'trialing';
  plan_id: string;
  current_period_start: Date;
  current_period_end: Date;
  cancel_at_period_end: boolean;
}

Source: minds-ui/apps/api-service/types/integrations.ts:30.

StripeInvoice

export interface StripeInvoice {
  id: string;
  customer_id: string;
  subscription_id?: string;
  amount_due: number;
  amount_paid: number;
  status: 'draft' | 'open' | 'paid' | 'void' | 'uncollectible';
  due_date?: Date;
  paid_at?: Date;
  line_items: StripeLineItem[];
}

Source: minds-ui/apps/api-service/types/integrations.ts:43.

StripeLineItem

export interface StripeLineItem {
  description: string;
  quantity: number;
  unit_price: number;
  amount: number;
}

Source: minds-ui/apps/api-service/types/integrations.ts:55.

StripeWebhookEvent

export interface StripeWebhookEvent {
  id: string;
  type: string;
  data: {
    object: any;
  };
  created: number;
}

Source: minds-ui/apps/api-service/types/integrations.ts:65.

IStripeClient

export interface IStripeClient {
  /**
   * Create a new customer
   */
  createCustomer(params: {
    email: string;
    name?: string;
    metadata: Record<string, string>;
  }): Promise<StripeCustomer>;

  /**
   * Get customer by ID
   */
  getCustomer(customerId: string): Promise<StripeCustomer>;

  /**
   * Create subscription
   */
  createSubscription(params: {
    customerId: string;
    priceId: string;
    metadata?: Record<string, string>;
  }): Promise<StripeSubscription>;

  /**
   * Cancel subscription
   */
  cancelSubscription(subscriptionId: string, cancelAtPeriodEnd?: boolean): Promise<StripeSubscription>;

  /**
   * Get invoices for customer
   */
  getInvoices(customerId: string, limit?: number): Promise<StripeInvoice[]>;

  /**
   * Create usage record (for metered billing)
   */
  createUsageRecord(params: {
    subscriptionItemId: string;
    quantity: number;
    timestamp?: number;
    action?: 'increment' | 'set';
  }): Promise<{ id: string }>;

  /**
   * Verify webhook signature
   */
  verifyWebhookSignature(payload: string, signature: string, secret: string): StripeWebhookEvent;
}

Source: minds-ui/apps/api-service/types/integrations.ts:77.

PrometheusQueryResult

export interface PrometheusQueryResult {
  status: 'success' | 'error';
  data: {
    resultType: 'matrix' | 'vector' | 'scalar' | 'string';
    result: PrometheusMetric[];
  };
  errorType?: string;
  error?: string;
}

Source: minds-ui/apps/api-service/types/integrations.ts:134.

PrometheusMetric

export interface PrometheusMetric {
  metric: Record<string, string>;
  values?: [number, string][];  // [timestamp, value]
  value?: [number, string];     // [timestamp, value]
}

Source: minds-ui/apps/api-service/types/integrations.ts:144.

GrafanaDashboard

export interface GrafanaDashboard {
  id: number;
  uid: string;
  title: string;
  tags: string[];
  url: string;
}

Source: minds-ui/apps/api-service/types/integrations.ts:153.

IPrometheusClient

export interface IPrometheusClient {
  /**
   * Query Prometheus (instant query)
   */
  query(query: string, time?: number): Promise<PrometheusQueryResult>;

  /**
   * Range query Prometheus
   */
  queryRange(params: {
    query: string;
    start: number;
    end: number;
    step: string;
  }): Promise<PrometheusQueryResult>;

  /**
   * Push metrics to Pushgateway
   */
  pushMetrics(job: string, metrics: Record<string, number>): Promise<void>;
}

Source: minds-ui/apps/api-service/types/integrations.ts:164.

IGrafanaClient

export interface IGrafanaClient {
  /**
   * Create dashboard for tenant
   */
  createDashboard(params: {
    title: string;
    tags: string[];
    dashboard: any;
  }): Promise<GrafanaDashboard>;

  /**
   * Get dashboard by UID
   */
  getDashboard(uid: string): Promise<GrafanaDashboard>;

  /**
   * Delete dashboard
   */
  deleteDashboard(uid: string): Promise<void>;

  /**
   * Create dashboard snapshot (shareable link)
   */
  createSnapshot(dashboardId: number, expiresSeconds?: number): Promise<{ url: string }>;
}

Source: minds-ui/apps/api-service/types/integrations.ts:189.

KongService

export interface KongService {
  id: string;
  name: string;
  url: string;
  protocol: 'http' | 'https' | 'grpc' | 'grpcs';
  host: string;
  port: number;
  path?: string;
  connect_timeout?: number;
  write_timeout?: number;
  read_timeout?: number;
}

Source: minds-ui/apps/api-service/types/integrations.ts:222.

KongRoute

export interface KongRoute {
  id: string;
  name: string;
  service: { id: string };
  protocols: string[];
  hosts?: string[];
  paths?: string[];
  methods?: string[];
  headers?: Record<string, string[]>;
}

Source: minds-ui/apps/api-service/types/integrations.ts:238.

KongConsumer

export interface KongConsumer {
  id: string;
  username: string;
  custom_id?: string;
  tags?: string[];
}

Source: minds-ui/apps/api-service/types/integrations.ts:252.

KongKeyAuth

export interface KongKeyAuth {
  id: string;
  key: string;
  consumer: { id: string };
}

Source: minds-ui/apps/api-service/types/integrations.ts:262.

KongACL

export interface KongACL {
  id: string;
  group: string;
  consumer: { id: string };
}

Source: minds-ui/apps/api-service/types/integrations.ts:271.

KongPlugin

export interface KongPlugin {
  id: string;
  name: string;
  service?: { id: string };
  route?: { id: string };
  consumer?: { id: string };
  config: Record<string, any>;
  enabled: boolean;
}

Source: minds-ui/apps/api-service/types/integrations.ts:280.

IKongClient

export interface IKongClient {
  // Service management
  createService(service: Omit<KongService, 'id'>): Promise<KongService>;
  getService(serviceId: string): Promise<KongService>;
  updateService(serviceId: string, updates: Partial<KongService>): Promise<KongService>;
  deleteService(serviceId: string): Promise<void>;

  // Route management
  createRoute(route: Omit<KongRoute, 'id'>): Promise<KongRoute>;
  getRoute(routeId: string): Promise<KongRoute>;
  deleteRoute(routeId: string): Promise<void>;

  // Consumer management
  createConsumer(consumer: Omit<KongConsumer, 'id'>): Promise<KongConsumer>;
  getConsumer(consumerId: string): Promise<KongConsumer>;
  deleteConsumer(consumerId: string): Promise<void>;

  // Credential management
  createKeyAuth(consumerId: string, key?: string): Promise<KongKeyAuth>;
  deleteKeyAuth(consumerId: string, keyId: string): Promise<void>;

  // ACL management
  createACL(consumerId: string, group: string): Promise<KongACL>;
  deleteACL(consumerId: string, aclId: string): Promise<void>;

  // Plugin management
  createPlugin(plugin: Omit<KongPlugin, 'id'>): Promise<KongPlugin>;
  getPlugin(pluginId: string): Promise<KongPlugin>;
  updatePlugin(pluginId: string, updates: Partial<KongPlugin>): Promise<KongPlugin>;
  deletePlugin(pluginId: string): Promise<void>;
}

Source: minds-ui/apps/api-service/types/integrations.ts:293.

VercelDomain

export interface VercelDomain {
  name: string;
  apexName: string;
  verified: boolean;
  verification?: {
    type: string;
    domain: string;
    value: string;
    reason?: string;
  }[];
}

Source: minds-ui/apps/api-service/types/integrations.ts:332.

VercelDNSRecord

export interface VercelDNSRecord {
  id: string;
  slug: string;
  name: string;
  type: 'A' | 'AAAA' | 'CNAME' | 'TXT' | 'MX' | 'SRV';
  value: string;
  ttl?: number;
}

Source: minds-ui/apps/api-service/types/integrations.ts:347.

VercelProject

export interface VercelProject {
  id: string;
  name: string;
  framework?: string;
  devCommand?: string;
  buildCommand?: string;
  outputDirectory?: string;
}

Source: minds-ui/apps/api-service/types/integrations.ts:359.

VercelDeployment

export interface VercelDeployment {
  id: string;
  url: string;
  name: string;
  state: 'BUILDING' | 'READY' | 'ERROR' | 'CANCELED';
  readyState: 'QUEUED' | 'BUILDING' | 'READY' | 'ERROR';
  createdAt: number;
}

Source: minds-ui/apps/api-service/types/integrations.ts:371.

IDNSClient

export interface IDNSClient {
  /**
   * Add domain to Vercel project
   */
  addDomain(projectId: string, domain: string): Promise<VercelDomain>;

  /**
   * Verify domain ownership
   */
  verifyDomain(projectId: string, domain: string): Promise<VercelDomain>;

  /**
   * Remove domain
   */
  removeDomain(projectId: string, domain: string): Promise<void>;

  /**
   * Create DNS record
   */
  createDNSRecord(domain: string, record: Omit<VercelDNSRecord, 'id' | 'slug'>): Promise<VercelDNSRecord>;

  /**
   * Delete DNS record
   */
  deleteDNSRecord(domain: string, recordId: string): Promise<void>;

  /**
   * Get domains for project
   */
  getDomains(projectId: string): Promise<VercelDomain[]>;
}

Source: minds-ui/apps/api-service/types/integrations.ts:383.

K8sDeployment

export interface K8sDeployment {
  metadata: {
    name: string;
    namespace: string;
    labels: Record<string, string>;
  };
  spec: {
    replicas: number;
    selector: {
      matchLabels: Record<string, string>;
    };
    template: {
      metadata: {
        labels: Record<string, string>;
      };
      spec: {
        containers: K8sContainer[];
      };
    };
  };
  status?: {
    availableReplicas: number;
    readyReplicas: number;
  };
}

Source: minds-ui/apps/api-service/types/integrations.ts:422.

K8sContainer

export interface K8sContainer {
  name: string;
  image: string;
  ports?: K8sContainerPort[];
  env?: K8sEnvVar[];
  resources?: K8sResourceRequirements;
}

Source: minds-ui/apps/api-service/types/integrations.ts:448.

K8sContainerPort

export interface K8sContainerPort {
  containerPort: number;
  protocol: 'TCP' | 'UDP';
}

Source: minds-ui/apps/api-service/types/integrations.ts:456.

K8sEnvVar

export interface K8sEnvVar {
  name: string;
  value?: string;
  valueFrom?: {
    secretKeyRef?: {
      name: string;
      key: string;
    };
  };
}

Source: minds-ui/apps/api-service/types/integrations.ts:461.

K8sResourceRequirements

export interface K8sResourceRequirements {
  requests?: {
    cpu?: string;
    memory?: string;
  };
  limits?: {
    cpu?: string;
    memory?: string;
  };
}

Source: minds-ui/apps/api-service/types/integrations.ts:472.

K8sService

export interface K8sService {
  metadata: {
    name: string;
    namespace: string;
  };
  spec: {
    type: 'ClusterIP' | 'NodePort' | 'LoadBalancer';
    selector: Record<string, string>;
    ports: {
      port: number;
      targetPort: number;
      protocol: 'TCP' | 'UDP';
    }[];
  };
}

Source: minds-ui/apps/api-service/types/integrations.ts:486.

IKubernetesClient

export interface IKubernetesClient {
  /**
   * Create deployment
   */
  createDeployment(deployment: K8sDeployment): Promise<K8sDeployment>;

  /**
   * Get deployment
   */
  getDeployment(namespace: string, name: string): Promise<K8sDeployment>;

  /**
   * Update deployment
   */
  updateDeployment(namespace: string, name: string, deployment: Partial<K8sDeployment>): Promise<K8sDeployment>;

  /**
   * Delete deployment
   */
  deleteDeployment(namespace: string, name: string): Promise<void>;

  /**
   * Create service
   */
  createService(service: K8sService): Promise<K8sService>;

  /**
   * Delete service
   */
  deleteService(namespace: string, name: string): Promise<void>;

  /**
   * Check pod health
   */
  getPodStatus(namespace: string, labelSelector: string): Promise<{ ready: number; total: number }>;
}

Source: minds-ui/apps/api-service/types/integrations.ts:505.

minds-ui/apps/api-service/types/logging.ts

LogLevel

LogLevel = z.enum([
  'debug',
  'info',
  'warn',
  'error',
  'fatal',
])

Source: minds-ui/apps/api-service/types/logging.ts:7.

LogLevel

export type LogLevel = z.infer<typeof LogLevel>

Source: minds-ui/apps/api-service/types/logging.ts:15.

LogSource

LogSource = z.enum([
  'api',
  'database',
  'cache',
  'queue',
  'worker',
  'scheduler',
  'webhook',
  'auth',
  'billing',
  'monitoring',
  'system',
])

Source: minds-ui/apps/api-service/types/logging.ts:21.

LogSource

export type LogSource = z.infer<typeof LogSource>

Source: minds-ui/apps/api-service/types/logging.ts:35.

LogEntry

LogEntry = z.object({
  id: z.string(),
  level: LogLevel,
  source: LogSource,
  message: z.string(),
  tenant_id: z.string().optional(),
  user_id: z.string().optional(),
  request_id: z.string().optional(),
  trace_id: z.string().optional(),
  span_id: z.string().optional(),
  metadata: z.record(z.unknown()).optional(),
  timestamp: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/logging.ts:41.

LogEntry

export type LogEntry = z.infer<typeof LogEntry>

Source: minds-ui/apps/api-service/types/logging.ts:55.

ListLogsQuery

ListLogsQuery = z.object({
  limit: z.coerce.number().int().min(1).max(1000).default(100),
  offset: z.coerce.number().int().min(0).default(0),
  level: LogLevel.optional(),
  source: LogSource.optional(),
  tenant_id: z.string().optional(),
  user_id: z.string().optional(),
  request_id: z.string().optional(),
  trace_id: z.string().optional(),
  start_date: z.string().datetime().optional(),
  end_date: z.string().datetime().optional(),
  search: z.string().optional(),
})

Source: minds-ui/apps/api-service/types/logging.ts:61.

ListLogsQuery

export type ListLogsQuery = z.infer<typeof ListLogsQuery>

Source: minds-ui/apps/api-service/types/logging.ts:75.

ListLogsResponse

ListLogsResponse = z.object({
  logs: z.array(LogEntry),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/logging.ts:81.

ListLogsResponse

export type ListLogsResponse = z.infer<typeof ListLogsResponse>

Source: minds-ui/apps/api-service/types/logging.ts:90.

LogStats

LogStats = z.object({
  total_logs: z.number().int(),
  logs_by_level: z.record(z.number().int()),
  logs_by_source: z.record(z.number().int()),
  error_rate_percent: z.number().min(0).max(100),
  average_logs_per_minute: z.number(),
  period_start: z.string().datetime(),
  period_end: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/logging.ts:96.

LogStats

export type LogStats = z.infer<typeof LogStats>

Source: minds-ui/apps/api-service/types/logging.ts:106.

GetLogStatsResponse

GetLogStatsResponse = z.object({
  stats: LogStats,
  period: z.object({
    start: z.string().datetime(),
    end: z.string().datetime(),
  }),
})

Source: minds-ui/apps/api-service/types/logging.ts:112.

GetLogStatsResponse

export type GetLogStatsResponse = z.infer<typeof GetLogStatsResponse>

Source: minds-ui/apps/api-service/types/logging.ts:120.

LogConfig

LogConfig = z.object({
  level: LogLevel,
  sources: z.array(LogSource),
  retention_days: z.number().int().min(1).max(365),
  max_file_size_mb: z.number().int().min(1).max(1000),
  compression_enabled: z.boolean(),
  structured_logging: z.boolean(),
  performance_logging: z.boolean(),
  audit_logging: z.boolean(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/logging.ts:126.

LogConfig

export type LogConfig = z.infer<typeof LogConfig>

Source: minds-ui/apps/api-service/types/logging.ts:139.

UpdateLogConfigRequest

UpdateLogConfigRequest = z.object({
  level: LogLevel.optional(),
  sources: z.array(LogSource).optional(),
  retention_days: z.number().int().min(1).max(365).optional(),
  max_file_size_mb: z.number().int().min(1).max(1000).optional(),
  compression_enabled: z.boolean().optional(),
  structured_logging: z.boolean().optional(),
  performance_logging: z.boolean().optional(),
  audit_logging: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/logging.ts:145.

UpdateLogConfigRequest

export type UpdateLogConfigRequest = z.infer<typeof UpdateLogConfigRequest>

Source: minds-ui/apps/api-service/types/logging.ts:156.

GetLogConfigResponse

GetLogConfigResponse = z.object({
  config: LogConfig,
})

Source: minds-ui/apps/api-service/types/logging.ts:162.

GetLogConfigResponse

export type GetLogConfigResponse = z.infer<typeof GetLogConfigResponse>

Source: minds-ui/apps/api-service/types/logging.ts:166.

LogExportRequest

LogExportRequest = z.object({
  format: z.enum(['json', 'csv', 'txt']),
  level: LogLevel.optional(),
  source: LogSource.optional(),
  tenant_id: z.string().optional(),
  start_date: z.string().datetime(),
  end_date: z.string().datetime(),
  include_metadata: z.boolean().optional().default(true),
})

Source: minds-ui/apps/api-service/types/logging.ts:172.

LogExportRequest

export type LogExportRequest = z.infer<typeof LogExportRequest>

Source: minds-ui/apps/api-service/types/logging.ts:182.

LogExportResponse

LogExportResponse = z.object({
  export_id: z.string(),
  format: z.enum(['json', 'csv', 'txt']),
  status: z.enum(['processing', 'completed', 'failed']),
  download_url: z.string().url().optional(),
  expires_at: z.string().datetime().optional(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/logging.ts:188.

LogExportResponse

export type LogExportResponse = z.infer<typeof LogExportResponse>

Source: minds-ui/apps/api-service/types/logging.ts:197.

LogAlert

LogAlert = z.object({
  id: z.string(),
  name: z.string(),
  pattern: z.string(),
  level: LogLevel,
  source: LogSource.optional(),
  threshold: z.number().int().min(1),
  time_window_minutes: z.number().int().min(1),
  enabled: z.boolean(),
  last_triggered: z.string().datetime().nullable(),
  trigger_count: z.number().int(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/logging.ts:203.

LogAlert

export type LogAlert = z.infer<typeof LogAlert>

Source: minds-ui/apps/api-service/types/logging.ts:218.

CreateLogAlertRequest

CreateLogAlertRequest = z.object({
  name: z.string().min(1).max(100),
  pattern: z.string().min(1).max(500),
  level: LogLevel,
  source: LogSource.optional(),
  threshold: z.number().int().min(1),
  time_window_minutes: z.number().int().min(1),
})

Source: minds-ui/apps/api-service/types/logging.ts:224.

CreateLogAlertRequest

export type CreateLogAlertRequest = z.infer<typeof CreateLogAlertRequest>

Source: minds-ui/apps/api-service/types/logging.ts:233.

UpdateLogAlertRequest

UpdateLogAlertRequest = z.object({
  name: z.string().min(1).max(100).optional(),
  pattern: z.string().min(1).max(500).optional(),
  level: LogLevel.optional(),
  source: LogSource.optional(),
  threshold: z.number().int().min(1).optional(),
  time_window_minutes: z.number().int().min(1).optional(),
  enabled: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/logging.ts:239.

UpdateLogAlertRequest

export type UpdateLogAlertRequest = z.infer<typeof UpdateLogAlertRequest>

Source: minds-ui/apps/api-service/types/logging.ts:249.

ListLogAlertsResponse

ListLogAlertsResponse = z.object({
  alerts: z.array(LogAlert),
})

Source: minds-ui/apps/api-service/types/logging.ts:255.

ListLogAlertsResponse

export type ListLogAlertsResponse = z.infer<typeof ListLogAlertsResponse>

Source: minds-ui/apps/api-service/types/logging.ts:259.

LogPattern

LogPattern = z.object({
  id: z.string(),
  name: z.string(),
  pattern: z.string(),
  description: z.string().optional(),
  category: z.string().optional(),
  severity: z.enum(['low', 'medium', 'high', 'critical']),
  enabled: z.boolean(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/logging.ts:265.

LogPattern

export type LogPattern = z.infer<typeof LogPattern>

Source: minds-ui/apps/api-service/types/logging.ts:277.

CreateLogPatternRequest

CreateLogPatternRequest = z.object({
  name: z.string().min(1).max(100),
  pattern: z.string().min(1).max(500),
  description: z.string().max(500).optional(),
  category: z.string().max(100).optional(),
  severity: z.enum(['low', 'medium', 'high', 'critical']).optional().default('medium'),
})

Source: minds-ui/apps/api-service/types/logging.ts:283.

CreateLogPatternRequest

export type CreateLogPatternRequest = z.infer<typeof CreateLogPatternRequest>

Source: minds-ui/apps/api-service/types/logging.ts:291.

UpdateLogPatternRequest

UpdateLogPatternRequest = z.object({
  name: z.string().min(1).max(100).optional(),
  pattern: z.string().min(1).max(500).optional(),
  description: z.string().max(500).optional(),
  category: z.string().max(100).optional(),
  severity: z.enum(['low', 'medium', 'high', 'critical']).optional(),
  enabled: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/logging.ts:297.

UpdateLogPatternRequest

export type UpdateLogPatternRequest = z.infer<typeof UpdateLogPatternRequest>

Source: minds-ui/apps/api-service/types/logging.ts:306.

ListLogPatternsResponse

ListLogPatternsResponse = z.object({
  patterns: z.array(LogPattern),
})

Source: minds-ui/apps/api-service/types/logging.ts:312.

ListLogPatternsResponse

export type ListLogPatternsResponse = z.infer<typeof ListLogPatternsResponse>

Source: minds-ui/apps/api-service/types/logging.ts:316.

LogSearchRequest

LogSearchRequest = z.object({
  query: z.string().min(1).max(1000),
  level: LogLevel.optional(),
  source: LogSource.optional(),
  tenant_id: z.string().optional(),
  start_date: z.string().datetime().optional(),
  end_date: z.string().datetime().optional(),
  limit: z.number().int().min(1).max(1000).optional().default(100),
})

Source: minds-ui/apps/api-service/types/logging.ts:322.

LogSearchRequest

export type LogSearchRequest = z.infer<typeof LogSearchRequest>

Source: minds-ui/apps/api-service/types/logging.ts:332.

LogSearchResponse

LogSearchResponse = z.object({
  results: z.array(LogEntry),
  total: z.number().int(),
  query: z.string(),
  execution_time_ms: z.number(),
})

Source: minds-ui/apps/api-service/types/logging.ts:338.

LogSearchResponse

export type LogSearchResponse = z.infer<typeof LogSearchResponse>

Source: minds-ui/apps/api-service/types/logging.ts:345.

LogRetentionPolicy

LogRetentionPolicy = z.object({
  id: z.string(),
  name: z.string(),
  level: LogLevel,
  retention_days: z.number().int().min(1).max(2555), // Max 7 years
  archive_after_days: z.number().int().min(1).optional(),
  enabled: z.boolean(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/logging.ts:351.

LogRetentionPolicy

export type LogRetentionPolicy = z.infer<typeof LogRetentionPolicy>

Source: minds-ui/apps/api-service/types/logging.ts:362.

CreateLogRetentionPolicyRequest

CreateLogRetentionPolicyRequest = z.object({
  name: z.string().min(1).max(100),
  level: LogLevel,
  retention_days: z.number().int().min(1).max(2555),
  archive_after_days: z.number().int().min(1).optional(),
})

Source: minds-ui/apps/api-service/types/logging.ts:368.

CreateLogRetentionPolicyRequest

export type CreateLogRetentionPolicyRequest = z.infer<typeof CreateLogRetentionPolicyRequest>

Source: minds-ui/apps/api-service/types/logging.ts:375.

UpdateLogRetentionPolicyRequest

UpdateLogRetentionPolicyRequest = z.object({
  name: z.string().min(1).max(100).optional(),
  retention_days: z.number().int().min(1).max(2555).optional(),
  archive_after_days: z.number().int().min(1).optional(),
  enabled: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/logging.ts:381.

UpdateLogRetentionPolicyRequest

export type UpdateLogRetentionPolicyRequest = z.infer<typeof UpdateLogRetentionPolicyRequest>

Source: minds-ui/apps/api-service/types/logging.ts:388.

ListLogRetentionPoliciesResponse

ListLogRetentionPoliciesResponse = z.object({
  policies: z.array(LogRetentionPolicy),
})

Source: minds-ui/apps/api-service/types/logging.ts:394.

ListLogRetentionPoliciesResponse

export type ListLogRetentionPoliciesResponse = z.infer<typeof ListLogRetentionPoliciesResponse>

Source: minds-ui/apps/api-service/types/logging.ts:398.

LogPerformanceMetrics

LogPerformanceMetrics = z.object({
  logs_per_second: z.number(),
  average_processing_time_ms: z.number(),
  disk_usage_mb: z.number(),
  memory_usage_mb: z.number(),
  compression_ratio: z.number().optional(),
  period_start: z.string().datetime(),
  period_end: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/logging.ts:404.

LogPerformanceMetrics

export type LogPerformanceMetrics = z.infer<typeof LogPerformanceMetrics>

Source: minds-ui/apps/api-service/types/logging.ts:414.

GetLogPerformanceMetricsResponse

GetLogPerformanceMetricsResponse = z.object({
  metrics: LogPerformanceMetrics,
  period: z.object({
    start: z.string().datetime(),
    end: z.string().datetime(),
  }),
})

Source: minds-ui/apps/api-service/types/logging.ts:420.

GetLogPerformanceMetricsResponse

export type GetLogPerformanceMetricsResponse = z.infer<typeof GetLogPerformanceMetricsResponse>

Source: minds-ui/apps/api-service/types/logging.ts:428.

minds-ui/apps/api-service/types/monitoring.ts

MetricsPeriod

MetricsPeriod = z.enum(['5m', '1h', '24h', '7d', '30d'])

Source: minds-ui/apps/api-service/types/monitoring.ts:6.

MetricsPeriod

export type MetricsPeriod = z.infer<typeof MetricsPeriod>

Source: minds-ui/apps/api-service/types/monitoring.ts:8.

ComputeMetrics

ComputeMetrics = z.object({
  cpu_usage_percent: z.number().min(0).max(100),
  memory_usage_mb: z.number(),
  memory_total_mb: z.number(),
})

Source: minds-ui/apps/api-service/types/monitoring.ts:13.

ComputeMetrics

export type ComputeMetrics = z.infer<typeof ComputeMetrics>

Source: minds-ui/apps/api-service/types/monitoring.ts:19.

StorageMetrics

StorageMetrics = z.object({
  used_gb: z.number(),
  total_gb: z.number(),
  shards: z.number().int(),
})

Source: minds-ui/apps/api-service/types/monitoring.ts:24.

StorageMetrics

export type StorageMetrics = z.infer<typeof StorageMetrics>

Source: minds-ui/apps/api-service/types/monitoring.ts:30.

PerformanceMetrics

PerformanceMetrics = z.object({
  requests_per_sec: z.number(),
  avg_latency_ms: z.number(),
  p95_latency_ms: z.number(),
  p99_latency_ms: z.number(),
  error_rate_percent: z.number().min(0).max(100),
})

Source: minds-ui/apps/api-service/types/monitoring.ts:35.

PerformanceMetrics

export type PerformanceMetrics = z.infer<typeof PerformanceMetrics>

Source: minds-ui/apps/api-service/types/monitoring.ts:43.

CognitiveMetrics

CognitiveMetrics = z.object({
  hrm_inferences_per_sec: z.number(),
  vector_searches_per_sec: z.number(),
  graph_queries_per_sec: z.number(),
})

Source: minds-ui/apps/api-service/types/monitoring.ts:48.

CognitiveMetrics

export type CognitiveMetrics = z.infer<typeof CognitiveMetrics>

Source: minds-ui/apps/api-service/types/monitoring.ts:54.

MetricsResponse

MetricsResponse = z.object({
  tenant_id: z.string(),
  period: MetricsPeriod,
  timestamp: z.string().datetime(),
  metrics: z.object({
    compute: ComputeMetrics,
    storage: StorageMetrics,
    performance: PerformanceMetrics,
    cognitive: CognitiveMetrics,
  }),
})

Source: minds-ui/apps/api-service/types/monitoring.ts:60.

MetricsResponse

export type MetricsResponse = z.infer<typeof MetricsResponse>

Source: minds-ui/apps/api-service/types/monitoring.ts:72.

LogLevel

LogLevel = z.enum(['debug', 'info', 'warn', 'error'])

Source: minds-ui/apps/api-service/types/monitoring.ts:77.

LogLevel

export type LogLevel = z.infer<typeof LogLevel>

Source: minds-ui/apps/api-service/types/monitoring.ts:79.

LogEntry

LogEntry = z.object({
  timestamp: z.string().datetime(),
  level: LogLevel,
  message: z.string(),
  metadata: z.record(z.unknown()).optional(),
})

Source: minds-ui/apps/api-service/types/monitoring.ts:84.

LogEntry

export type LogEntry = z.infer<typeof LogEntry>

Source: minds-ui/apps/api-service/types/monitoring.ts:91.

LogsQuery

LogsQuery = z.object({
  level: LogLevel.optional(),
  start_time: z.string().datetime().optional(),
  end_time: z.string().datetime().optional(),
  limit: z.coerce.number().int().min(1).max(1000).default(100),
  search: z.string().optional(),
})

Source: minds-ui/apps/api-service/types/monitoring.ts:97.

LogsQuery

export type LogsQuery = z.infer<typeof LogsQuery>

Source: minds-ui/apps/api-service/types/monitoring.ts:105.

LogsResponse

LogsResponse = z.object({
  tenant_id: z.string(),
  logs: z.array(LogEntry),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    has_more: z.boolean(),
  }),
})

Source: minds-ui/apps/api-service/types/monitoring.ts:111.

LogsResponse

export type LogsResponse = z.infer<typeof LogsResponse>

Source: minds-ui/apps/api-service/types/monitoring.ts:121.

HealthStatus

HealthStatus = z.enum(['healthy', 'degraded', 'down'])

Source: minds-ui/apps/api-service/types/monitoring.ts:126.

HealthStatus

export type HealthStatus = z.infer<typeof HealthStatus>

Source: minds-ui/apps/api-service/types/monitoring.ts:128.

HealthChecks

HealthChecks = z.object({
  instance_reachable: z.boolean(),
  database_connected: z.boolean(),
  storage_accessible: z.boolean(),
  dns_resolved: z.boolean(),
  tls_valid: z.boolean(),
})

Source: minds-ui/apps/api-service/types/monitoring.ts:133.

HealthChecks

export type HealthChecks = z.infer<typeof HealthChecks>

Source: minds-ui/apps/api-service/types/monitoring.ts:141.

HealthResponse

HealthResponse = z.object({
  tenant_id: z.string(),
  status: HealthStatus,
  checks: HealthChecks,
  last_check: z.string().datetime(),
  uptime_percent: z.number().min(0).max(100), // Last 30 days
})

Source: minds-ui/apps/api-service/types/monitoring.ts:147.

HealthResponse

export type HealthResponse = z.infer<typeof HealthResponse>

Source: minds-ui/apps/api-service/types/monitoring.ts:155.

minds-ui/apps/api-service/types/notification.ts

NotificationType

NotificationType = z.enum([
  'tenant_created',
  'tenant_ready',
  'tenant_suspended',
  'tenant_deleted',
  'backup_completed',
  'backup_failed',
  'usage_threshold_exceeded',
  'billing_invoice_created',
  'billing_payment_failed',
  'api_key_created',
  'api_key_revoked',
  'security_alert',
  'system_maintenance',
  'feature_announcement',
])

Source: minds-ui/apps/api-service/types/notification.ts:7.

NotificationType

export type NotificationType = z.infer<typeof NotificationType>

Source: minds-ui/apps/api-service/types/notification.ts:24.

NotificationChannel

NotificationChannel = z.enum([
  'email',
  'push',
  'webhook',
  'sms',
])

Source: minds-ui/apps/api-service/types/notification.ts:30.

NotificationChannel

export type NotificationChannel = z.infer<typeof NotificationChannel>

Source: minds-ui/apps/api-service/types/notification.ts:37.

NotificationPriority

NotificationPriority = z.enum([
  'low',
  'normal',
  'high',
  'urgent',
])

Source: minds-ui/apps/api-service/types/notification.ts:43.

NotificationPriority

export type NotificationPriority = z.infer<typeof NotificationPriority>

Source: minds-ui/apps/api-service/types/notification.ts:50.

NotificationStatus

NotificationStatus = z.enum([
  'pending',
  'sent',
  'delivered',
  'failed',
  'bounced',
  'opened',
  'clicked',
])

Source: minds-ui/apps/api-service/types/notification.ts:56.

NotificationStatus

export type NotificationStatus = z.infer<typeof NotificationStatus>

Source: minds-ui/apps/api-service/types/notification.ts:66.

Notification

Notification = z.object({
  id: z.string(),
  user_id: z.string().optional(),
  tenant_id: z.string().optional(),
  organization_id: z.string().optional(),
  type: NotificationType,
  title: z.string(),
  message: z.string(),
  priority: NotificationPriority,
  channels: z.array(NotificationChannel),
  status: NotificationStatus,
  sent_at: z.string().datetime().nullable(),
  delivered_at: z.string().datetime().nullable(),
  opened_at: z.string().datetime().nullable(),
  clicked_at: z.string().datetime().nullable(),
  metadata: z.record(z.unknown()).optional(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/notification.ts:72.

Notification

export type Notification = z.infer<typeof Notification>

Source: minds-ui/apps/api-service/types/notification.ts:92.

CreateNotificationRequest

CreateNotificationRequest = z.object({
  user_id: z.string().optional(),
  tenant_id: z.string().optional(),
  organization_id: z.string().optional(),
  type: NotificationType,
  title: z.string().min(1).max(200),
  message: z.string().min(1).max(1000),
  priority: NotificationPriority.optional().default('normal'),
  channels: z.array(NotificationChannel).optional().default(['email']),
  metadata: z.record(z.unknown()).optional(),
})

Source: minds-ui/apps/api-service/types/notification.ts:98.

CreateNotificationRequest

export type CreateNotificationRequest = z.infer<typeof CreateNotificationRequest>

Source: minds-ui/apps/api-service/types/notification.ts:110.

CreateNotificationResponse

CreateNotificationResponse = z.object({
  notification_id: z.string(),
  status: NotificationStatus,
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/notification.ts:116.

CreateNotificationResponse

export type CreateNotificationResponse = z.infer<typeof CreateNotificationResponse>

Source: minds-ui/apps/api-service/types/notification.ts:122.

ListNotificationsQuery

ListNotificationsQuery = z.object({
  limit: z.coerce.number().int().min(1).max(100).default(20),
  offset: z.coerce.number().int().min(0).default(0),
  user_id: z.string().optional(),
  tenant_id: z.string().optional(),
  organization_id: z.string().optional(),
  type: NotificationType.optional(),
  priority: NotificationPriority.optional(),
  status: NotificationStatus.optional(),
  start_date: z.string().datetime().optional(),
  end_date: z.string().datetime().optional(),
})

Source: minds-ui/apps/api-service/types/notification.ts:128.

ListNotificationsQuery

export type ListNotificationsQuery = z.infer<typeof ListNotificationsQuery>

Source: minds-ui/apps/api-service/types/notification.ts:141.

ListNotificationsResponse

ListNotificationsResponse = z.object({
  notifications: z.array(Notification),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/notification.ts:147.

ListNotificationsResponse

export type ListNotificationsResponse = z.infer<typeof ListNotificationsResponse>

Source: minds-ui/apps/api-service/types/notification.ts:156.

NotificationTemplate

NotificationTemplate = z.object({
  id: z.string(),
  name: z.string(),
  type: NotificationType,
  title_template: z.string(),
  message_template: z.string(),
  priority: NotificationPriority,
  channels: z.array(NotificationChannel),
  variables: z.array(z.string()),
  enabled: z.boolean(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/notification.ts:162.

NotificationTemplate

export type NotificationTemplate = z.infer<typeof NotificationTemplate>

Source: minds-ui/apps/api-service/types/notification.ts:176.

CreateNotificationTemplateRequest

CreateNotificationTemplateRequest = z.object({
  name: z.string().min(1).max(100),
  type: NotificationType,
  title_template: z.string().min(1).max(200),
  message_template: z.string().min(1).max(1000),
  priority: NotificationPriority.optional().default('normal'),
  channels: z.array(NotificationChannel).optional().default(['email']),
  variables: z.array(z.string()).optional(),
})

Source: minds-ui/apps/api-service/types/notification.ts:182.

CreateNotificationTemplateRequest

export type CreateNotificationTemplateRequest = z.infer<typeof CreateNotificationTemplateRequest>

Source: minds-ui/apps/api-service/types/notification.ts:192.

UpdateNotificationTemplateRequest

UpdateNotificationTemplateRequest = z.object({
  name: z.string().min(1).max(100).optional(),
  title_template: z.string().min(1).max(200).optional(),
  message_template: z.string().min(1).max(1000).optional(),
  priority: NotificationPriority.optional(),
  channels: z.array(NotificationChannel).optional(),
  variables: z.array(z.string()).optional(),
  enabled: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/notification.ts:198.

UpdateNotificationTemplateRequest

export type UpdateNotificationTemplateRequest = z.infer<typeof UpdateNotificationTemplateRequest>

Source: minds-ui/apps/api-service/types/notification.ts:208.

ListNotificationTemplatesResponse

ListNotificationTemplatesResponse = z.object({
  templates: z.array(NotificationTemplate),
})

Source: minds-ui/apps/api-service/types/notification.ts:214.

ListNotificationTemplatesResponse

export type ListNotificationTemplatesResponse = z.infer<typeof ListNotificationTemplatesResponse>

Source: minds-ui/apps/api-service/types/notification.ts:218.

NotificationPreference

NotificationPreference = z.object({
  id: z.string(),
  user_id: z.string(),
  type: NotificationType,
  channels: z.array(NotificationChannel),
  enabled: z.boolean(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/notification.ts:224.

NotificationPreference

export type NotificationPreference = z.infer<typeof NotificationPreference>

Source: minds-ui/apps/api-service/types/notification.ts:234.

UpdateNotificationPreferenceRequest

UpdateNotificationPreferenceRequest = z.object({
  preferences: z.array(z.object({
    type: NotificationType,
    channels: z.array(NotificationChannel),
    enabled: z.boolean(),
  })),
})

Source: minds-ui/apps/api-service/types/notification.ts:240.

UpdateNotificationPreferenceRequest

export type UpdateNotificationPreferenceRequest = z.infer<typeof UpdateNotificationPreferenceRequest>

Source: minds-ui/apps/api-service/types/notification.ts:248.

ListNotificationPreferencesResponse

ListNotificationPreferencesResponse = z.object({
  preferences: z.array(NotificationPreference),
})

Source: minds-ui/apps/api-service/types/notification.ts:254.

ListNotificationPreferencesResponse

export type ListNotificationPreferencesResponse = z.infer<typeof ListNotificationPreferencesResponse>

Source: minds-ui/apps/api-service/types/notification.ts:258.

NotificationDelivery

NotificationDelivery = z.object({
  id: z.string(),
  notification_id: z.string(),
  channel: NotificationChannel,
  status: NotificationStatus,
  sent_at: z.string().datetime().nullable(),
  delivered_at: z.string().datetime().nullable(),
  opened_at: z.string().datetime().nullable(),
  clicked_at: z.string().datetime().nullable(),
  error_message: z.string().nullable(),
  retry_count: z.number().int(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/notification.ts:264.

NotificationDelivery

export type NotificationDelivery = z.infer<typeof NotificationDelivery>

Source: minds-ui/apps/api-service/types/notification.ts:279.

ListNotificationDeliveriesQuery

ListNotificationDeliveriesQuery = z.object({
  limit: z.coerce.number().int().min(1).max(100).default(20),
  offset: z.coerce.number().int().min(0).default(0),
  channel: NotificationChannel.optional(),
  status: NotificationStatus.optional(),
})

Source: minds-ui/apps/api-service/types/notification.ts:285.

ListNotificationDeliveriesQuery

export type ListNotificationDeliveriesQuery = z.infer<typeof ListNotificationDeliveriesQuery>

Source: minds-ui/apps/api-service/types/notification.ts:292.

ListNotificationDeliveriesResponse

ListNotificationDeliveriesResponse = z.object({
  deliveries: z.array(NotificationDelivery),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/notification.ts:298.

ListNotificationDeliveriesResponse

export type ListNotificationDeliveriesResponse = z.infer<typeof ListNotificationDeliveriesResponse>

Source: minds-ui/apps/api-service/types/notification.ts:307.

NotificationStats

NotificationStats = z.object({
  total_sent: z.number().int(),
  total_delivered: z.number().int(),
  total_opened: z.number().int(),
  total_clicked: z.number().int(),
  delivery_rate: z.number().min(0).max(100),
  open_rate: z.number().min(0).max(100),
  click_rate: z.number().min(0).max(100),
  period_start: z.string().datetime(),
  period_end: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/notification.ts:313.

NotificationStats

export type NotificationStats = z.infer<typeof NotificationStats>

Source: minds-ui/apps/api-service/types/notification.ts:325.

GetNotificationStatsResponse

GetNotificationStatsResponse = z.object({
  stats: NotificationStats,
  period: z.object({
    start: z.string().datetime(),
    end: z.string().datetime(),
  }),
})

Source: minds-ui/apps/api-service/types/notification.ts:331.

GetNotificationStatsResponse

export type GetNotificationStatsResponse = z.infer<typeof GetNotificationStatsResponse>

Source: minds-ui/apps/api-service/types/notification.ts:339.

NotificationWebhook

NotificationWebhook = z.object({
  id: z.string(),
  user_id: z.string().optional(),
  tenant_id: z.string().optional(),
  organization_id: z.string().optional(),
  url: z.string().url(),
  events: z.array(NotificationType),
  secret: z.string(),
  enabled: z.boolean(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/notification.ts:345.

NotificationWebhook

export type NotificationWebhook = z.infer<typeof NotificationWebhook>

Source: minds-ui/apps/api-service/types/notification.ts:358.

CreateNotificationWebhookRequest

CreateNotificationWebhookRequest = z.object({
  user_id: z.string().optional(),
  tenant_id: z.string().optional(),
  organization_id: z.string().optional(),
  url: z.string().url(),
  events: z.array(NotificationType).min(1),
  secret: z.string().optional(),
})

Source: minds-ui/apps/api-service/types/notification.ts:364.

CreateNotificationWebhookRequest

export type CreateNotificationWebhookRequest = z.infer<typeof CreateNotificationWebhookRequest>

Source: minds-ui/apps/api-service/types/notification.ts:373.

UpdateNotificationWebhookRequest

UpdateNotificationWebhookRequest = z.object({
  url: z.string().url().optional(),
  events: z.array(NotificationType).optional(),
  enabled: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/notification.ts:379.

UpdateNotificationWebhookRequest

export type UpdateNotificationWebhookRequest = z.infer<typeof UpdateNotificationWebhookRequest>

Source: minds-ui/apps/api-service/types/notification.ts:385.

ListNotificationWebhooksResponse

ListNotificationWebhooksResponse = z.object({
  webhooks: z.array(NotificationWebhook),
})

Source: minds-ui/apps/api-service/types/notification.ts:391.

ListNotificationWebhooksResponse

export type ListNotificationWebhooksResponse = z.infer<typeof ListNotificationWebhooksResponse>

Source: minds-ui/apps/api-service/types/notification.ts:395.

NotificationWebhookPayload

NotificationWebhookPayload = z.object({
  id: z.string(),
  type: NotificationType,
  title: z.string(),
  message: z.string(),
  priority: NotificationPriority,
  user_id: z.string().optional(),
  tenant_id: z.string().optional(),
  organization_id: z.string().optional(),
  metadata: z.record(z.unknown()).optional(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/notification.ts:401.

NotificationWebhookPayload

export type NotificationWebhookPayload = z.infer<typeof NotificationWebhookPayload>

Source: minds-ui/apps/api-service/types/notification.ts:414.

minds-ui/apps/api-service/types/operations.ts

OperationType

export type OperationType = typeof OperationType[keyof typeof OperationType]

Source: minds-ui/apps/api-service/types/operations.ts:18.

OperationTypeSchema

OperationTypeSchema = z.enum([
  OperationType.READ,
  OperationType.WRITE,
  OperationType.DELETE,
  OperationType.API_REQUEST,
  OperationType.STORAGE_READ,
  OperationType.STORAGE_WRITE,
  OperationType.VECTOR_SEARCH,
  OperationType.GRAPH_QUERY,
  OperationType.HRM_INFERENCE,
  OperationType.SQL_QUERY,
  OperationType.BACKUP_CREATE,
  OperationType.BACKUP_RESTORE,
])

Source: minds-ui/apps/api-service/types/operations.ts:20.

ScalingRequest

ScalingRequest = z.object({
  target_shards: z.number().int().min(1).max(100),
  reason: z.string().max(500).optional(),
})

Source: minds-ui/apps/api-service/types/operations.ts:39.

ScalingRequest

export type ScalingRequest = z.infer<typeof ScalingRequest>

Source: minds-ui/apps/api-service/types/operations.ts:44.

ScalingResponse

ScalingResponse = z.object({
  id: z.string(),
  current_shards: z.number().int(),
  target_shards: z.number().int(),
  status: z.literal('scaling'),
  estimated_duration: z.number().int(), // seconds
})

Source: minds-ui/apps/api-service/types/operations.ts:50.

ScalingResponse

export type ScalingResponse = z.infer<typeof ScalingResponse>

Source: minds-ui/apps/api-service/types/operations.ts:58.

SuspendTenantRequest

SuspendTenantRequest = z.object({
  reason: z.string().min(1).max(500),
  notify_user: z.boolean().optional().default(true),
})

Source: minds-ui/apps/api-service/types/operations.ts:64.

SuspendTenantRequest

export type SuspendTenantRequest = z.infer<typeof SuspendTenantRequest>

Source: minds-ui/apps/api-service/types/operations.ts:69.

TransferTenantRequest

TransferTenantRequest = z.object({
  target_org_id: z.string(),
})

Source: minds-ui/apps/api-service/types/operations.ts:75.

TransferTenantRequest

export type TransferTenantRequest = z.infer<typeof TransferTenantRequest>

Source: minds-ui/apps/api-service/types/operations.ts:79.

TransferTenantResponse

TransferTenantResponse = z.object({
  tenant_id: z.string(),
  old_org_id: z.string(),
  new_org_id: z.string(),
  transferred_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/operations.ts:85.

TransferTenantResponse

export type TransferTenantResponse = z.infer<typeof TransferTenantResponse>

Source: minds-ui/apps/api-service/types/operations.ts:92.

RotateSecretResponse

RotateSecretResponse = z.object({
  tenant_id: z.string(),
  new_secret_version: z.number().int(),
  tokens_invalidated_at: z.string().datetime(),
  grace_period_hours: z.number().default(1),
})

Source: minds-ui/apps/api-service/types/operations.ts:98.

RotateSecretResponse

export type RotateSecretResponse = z.infer<typeof RotateSecretResponse>

Source: minds-ui/apps/api-service/types/operations.ts:105.

ProvisioningOperation

ProvisioningOperation = z.object({
  id: z.string(),
  tenant_id: z.string(),
  status: z.enum(['pending', 'in_progress', 'completed', 'failed']),
  started_at: z.string().datetime(),
  completed_at: z.string().datetime().optional(),
  error_message: z.string().optional(),
  steps: z.array(
    z.object({
      name: z.string(),
      status: z.enum(['pending', 'in_progress', 'completed', 'failed']),
      started_at: z.string().datetime().optional(),
      completed_at: z.string().datetime().optional(),
    }),
  ),
})

Source: minds-ui/apps/api-service/types/operations.ts:111.

ProvisioningOperation

export type ProvisioningOperation = z.infer<typeof ProvisioningOperation>

Source: minds-ui/apps/api-service/types/operations.ts:128.

minds-ui/apps/api-service/types/organization.ts

OrganizationRole

OrganizationRole = z.enum([
  'owner',
  'admin',
  'member',
  'billing',
])

Source: minds-ui/apps/api-service/types/organization.ts:7.

OrganizationRole

export type OrganizationRole = z.infer<typeof OrganizationRole>

Source: minds-ui/apps/api-service/types/organization.ts:14.

Organization

Organization = z.object({
  id: z.string(),
  name: z.string().min(1).max(100),
  slug: z.string().regex(/^[a-z0-9-]+$/),
  description: z.string().max(500).optional(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/organization.ts:20.

Organization

export type Organization = z.infer<typeof Organization>

Source: minds-ui/apps/api-service/types/organization.ts:29.

OrganizationMember

OrganizationMember = z.object({
  id: z.string(),
  organization_id: z.string(),
  user_id: z.string(),
  role: OrganizationRole,
  active: z.boolean(),
  invited_by: z.string().optional(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/organization.ts:35.

OrganizationMember

export type OrganizationMember = z.infer<typeof OrganizationMember>

Source: minds-ui/apps/api-service/types/organization.ts:46.

CreateOrganizationRequest

CreateOrganizationRequest = z.object({
  name: z.string().min(1).max(100),
  slug: z
    .string()
    .regex(/^[a-z0-9-]+$/)
    .min(3)
    .max(63)
    .optional(), // Auto-generated if omitted
  description: z.string().max(500).optional(),
})

Source: minds-ui/apps/api-service/types/organization.ts:52.

CreateOrganizationRequest

export type CreateOrganizationRequest = z.infer<typeof CreateOrganizationRequest>

Source: minds-ui/apps/api-service/types/organization.ts:63.

CreateOrganizationResponse

CreateOrganizationResponse = z.object({
  organization_id: z.string(),
  name: z.string(),
  slug: z.string(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/organization.ts:69.

CreateOrganizationResponse

export type CreateOrganizationResponse = z.infer<typeof CreateOrganizationResponse>

Source: minds-ui/apps/api-service/types/organization.ts:76.

UpdateOrganizationRequest

UpdateOrganizationRequest = z.object({
  name: z.string().min(1).max(100).optional(),
  description: z.string().max(500).optional(),
})

Source: minds-ui/apps/api-service/types/organization.ts:82.

UpdateOrganizationRequest

export type UpdateOrganizationRequest = z.infer<typeof UpdateOrganizationRequest>

Source: minds-ui/apps/api-service/types/organization.ts:87.

ListOrganizationsQuery

ListOrganizationsQuery = z.object({
  limit: z.coerce.number().int().min(1).max(100).default(20),
  offset: z.coerce.number().int().min(0).default(0),
  search: z.string().optional(),
})

Source: minds-ui/apps/api-service/types/organization.ts:93.

ListOrganizationsQuery

export type ListOrganizationsQuery = z.infer<typeof ListOrganizationsQuery>

Source: minds-ui/apps/api-service/types/organization.ts:99.

ListOrganizationsResponse

ListOrganizationsResponse = z.object({
  organizations: z.array(Organization),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/organization.ts:105.

ListOrganizationsResponse

export type ListOrganizationsResponse = z.infer<typeof ListOrganizationsResponse>

Source: minds-ui/apps/api-service/types/organization.ts:114.

InviteOrganizationMemberRequest

InviteOrganizationMemberRequest = z.object({
  email: z.string().email(),
  role: OrganizationRole,
  message: z.string().max(500).optional(),
})

Source: minds-ui/apps/api-service/types/organization.ts:120.

InviteOrganizationMemberRequest

export type InviteOrganizationMemberRequest = z.infer<typeof InviteOrganizationMemberRequest>

Source: minds-ui/apps/api-service/types/organization.ts:126.

InviteOrganizationMemberResponse

InviteOrganizationMemberResponse = z.object({
  invitation_id: z.string(),
  email: z.string().email(),
  role: OrganizationRole,
  expires_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/organization.ts:132.

InviteOrganizationMemberResponse

export type InviteOrganizationMemberResponse = z.infer<typeof InviteOrganizationMemberResponse>

Source: minds-ui/apps/api-service/types/organization.ts:139.

UpdateOrganizationMemberRequest

UpdateOrganizationMemberRequest = z.object({
  role: OrganizationRole.optional(),
  active: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/organization.ts:145.

UpdateOrganizationMemberRequest

export type UpdateOrganizationMemberRequest = z.infer<typeof UpdateOrganizationMemberRequest>

Source: minds-ui/apps/api-service/types/organization.ts:150.

ListOrganizationMembersQuery

ListOrganizationMembersQuery = z.object({
  limit: z.coerce.number().int().min(1).max(100).default(20),
  offset: z.coerce.number().int().min(0).default(0),
  role: OrganizationRole.optional(),
  active: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/organization.ts:156.

ListOrganizationMembersQuery

export type ListOrganizationMembersQuery = z.infer<typeof ListOrganizationMembersQuery>

Source: minds-ui/apps/api-service/types/organization.ts:163.

ListOrganizationMembersResponse

ListOrganizationMembersResponse = z.object({
  members: z.array(
    OrganizationMember.extend({
      user: z.object({
        id: z.string(),
        email: z.string().email(),
        name: z.string().optional(),
        image: z.string().url().optional(),
      }),
    }),
  ),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/organization.ts:169.

ListOrganizationMembersResponse

export type ListOrganizationMembersResponse = z.infer<typeof ListOrganizationMembersResponse>

Source: minds-ui/apps/api-service/types/organization.ts:187.

OrganizationStats

OrganizationStats = z.object({
  total_tenants: z.number().int(),
  active_tenants: z.number().int(),
  total_members: z.number().int(),
  total_usage_gb: z.number(),
  monthly_cost: z.number(),
  currency: z.string(),
})

Source: minds-ui/apps/api-service/types/organization.ts:193.

OrganizationStats

export type OrganizationStats = z.infer<typeof OrganizationStats>

Source: minds-ui/apps/api-service/types/organization.ts:202.

GetOrganizationStatsResponse

GetOrganizationStatsResponse = z.object({
  organization_id: z.string(),
  stats: OrganizationStats,
  period: z.object({
    start: z.string().datetime(),
    end: z.string().datetime(),
  }),
})

Source: minds-ui/apps/api-service/types/organization.ts:208.

GetOrganizationStatsResponse

export type GetOrganizationStatsResponse = z.infer<typeof GetOrganizationStatsResponse>

Source: minds-ui/apps/api-service/types/organization.ts:217.

OrganizationSettings

OrganizationSettings = z.object({
  id: z.string(),
  organization_id: z.string(),
  default_tenant_plan: z.string().optional(),
  default_region: z.string().optional(),
  backup_retention_days: z.number().int().min(1).max(90).optional(),
  notification_email: z.string().email().optional(),
  billing_email: z.string().email().optional(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/organization.ts:223.

OrganizationSettings

export type OrganizationSettings = z.infer<typeof OrganizationSettings>

Source: minds-ui/apps/api-service/types/organization.ts:235.

UpdateOrganizationSettingsRequest

UpdateOrganizationSettingsRequest = z.object({
  default_tenant_plan: z.string().optional(),
  default_region: z.string().optional(),
  backup_retention_days: z.number().int().min(1).max(90).optional(),
  notification_email: z.string().email().optional(),
  billing_email: z.string().email().optional(),
})

Source: minds-ui/apps/api-service/types/organization.ts:241.

UpdateOrganizationSettingsRequest

export type UpdateOrganizationSettingsRequest = z.infer<typeof UpdateOrganizationSettingsRequest>

Source: minds-ui/apps/api-service/types/organization.ts:249.

OrganizationInvitation

OrganizationInvitation = z.object({
  id: z.string(),
  organization_id: z.string(),
  email: z.string().email(),
  role: OrganizationRole,
  invited_by: z.string(),
  expires_at: z.string().datetime(),
  accepted_at: z.string().datetime().nullable(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/organization.ts:255.

OrganizationInvitation

export type OrganizationInvitation = z.infer<typeof OrganizationInvitation>

Source: minds-ui/apps/api-service/types/organization.ts:266.

ListOrganizationInvitationsQuery

ListOrganizationInvitationsQuery = z.object({
  limit: z.coerce.number().int().min(1).max(100).default(20),
  offset: z.coerce.number().int().min(0).default(0),
  status: z.enum(['pending', 'accepted', 'expired']).optional(),
})

Source: minds-ui/apps/api-service/types/organization.ts:272.

ListOrganizationInvitationsQuery

export type ListOrganizationInvitationsQuery = z.infer<typeof ListOrganizationInvitationsQuery>

Source: minds-ui/apps/api-service/types/organization.ts:278.

ListOrganizationInvitationsResponse

ListOrganizationInvitationsResponse = z.object({
  invitations: z.array(OrganizationInvitation),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/organization.ts:284.

ListOrganizationInvitationsResponse

export type ListOrganizationInvitationsResponse = z.infer<typeof ListOrganizationInvitationsResponse>

Source: minds-ui/apps/api-service/types/organization.ts:293.

AcceptOrganizationInvitationRequest

AcceptOrganizationInvitationRequest = z.object({
  invitation_token: z.string(),
})

Source: minds-ui/apps/api-service/types/organization.ts:299.

AcceptOrganizationInvitationRequest

export type AcceptOrganizationInvitationRequest = z.infer<typeof AcceptOrganizationInvitationRequest>

Source: minds-ui/apps/api-service/types/organization.ts:303.

AcceptOrganizationInvitationResponse

AcceptOrganizationInvitationResponse = z.object({
  organization_id: z.string(),
  role: OrganizationRole,
  accepted_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/organization.ts:309.

AcceptOrganizationInvitationResponse

export type AcceptOrganizationInvitationResponse = z.infer<typeof AcceptOrganizationInvitationResponse>

Source: minds-ui/apps/api-service/types/organization.ts:315.

minds-ui/apps/api-service/types/queue.ts

QueueStatus

QueueStatus = z.enum([
  'pending',
  'processing',
  'completed',
  'failed',
  'retrying',
  'cancelled',
])

Source: minds-ui/apps/api-service/types/queue.ts:7.

QueueStatus

export type QueueStatus = z.infer<typeof QueueStatus>

Source: minds-ui/apps/api-service/types/queue.ts:16.

QueuePriority

QueuePriority = z.enum([
  'low',
  'normal',
  'high',
  'urgent',
])

Source: minds-ui/apps/api-service/types/queue.ts:22.

QueuePriority

export type QueuePriority = z.infer<typeof QueuePriority>

Source: minds-ui/apps/api-service/types/queue.ts:29.

QueueItem

QueueItem = z.object({
  id: z.string(),
  queue_name: z.string(),
  payload: z.record(z.unknown()),
  status: QueueStatus,
  priority: QueuePriority,
  attempts: z.number().int(),
  max_attempts: z.number().int(),
  scheduled_at: z.string().datetime().optional(),
  started_at: z.string().datetime().nullable(),
  completed_at: z.string().datetime().nullable(),
  failed_at: z.string().datetime().nullable(),
  error_message: z.string().nullable(),
  metadata: z.record(z.unknown()).optional(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/queue.ts:35.

QueueItem

export type QueueItem = z.infer<typeof QueueItem>

Source: minds-ui/apps/api-service/types/queue.ts:53.

EnqueueRequest

EnqueueRequest = z.object({
  payload: z.record(z.unknown()),
  priority: QueuePriority.optional().default('normal'),
  max_attempts: z.number().int().min(1).max(10).optional().default(3),
  scheduled_at: z.string().datetime().optional(),
  metadata: z.record(z.unknown()).optional(),
})

Source: minds-ui/apps/api-service/types/queue.ts:59.

EnqueueRequest

export type EnqueueRequest = z.infer<typeof EnqueueRequest>

Source: minds-ui/apps/api-service/types/queue.ts:67.

EnqueueResponse

EnqueueResponse = z.object({
  item_id: z.string(),
  queue_name: z.string(),
  status: QueueStatus,
  scheduled_at: z.string().datetime().optional(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/queue.ts:73.

EnqueueResponse

export type EnqueueResponse = z.infer<typeof EnqueueResponse>

Source: minds-ui/apps/api-service/types/queue.ts:81.

ListQueueItemsQuery

ListQueueItemsQuery = z.object({
  limit: z.coerce.number().int().min(1).max(1000).default(100),
  offset: z.coerce.number().int().min(0).default(0),
  status: QueueStatus.optional(),
  priority: QueuePriority.optional(),
  start_date: z.string().datetime().optional(),
  end_date: z.string().datetime().optional(),
})

Source: minds-ui/apps/api-service/types/queue.ts:87.

ListQueueItemsQuery

export type ListQueueItemsQuery = z.infer<typeof ListQueueItemsQuery>

Source: minds-ui/apps/api-service/types/queue.ts:96.

ListQueueItemsResponse

ListQueueItemsResponse = z.object({
  items: z.array(QueueItem),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/queue.ts:102.

ListQueueItemsResponse

export type ListQueueItemsResponse = z.infer<typeof ListQueueItemsResponse>

Source: minds-ui/apps/api-service/types/queue.ts:111.

QueueStats

QueueStats = z.object({
  queue_name: z.string(),
  total_items: z.number().int(),
  pending_items: z.number().int(),
  processing_items: z.number().int(),
  completed_items: z.number().int(),
  failed_items: z.number().int(),
  average_processing_time_ms: z.number().optional(),
  throughput_per_minute: z.number().optional(),
  error_rate_percent: z.number().min(0).max(100).optional(),
  period_start: z.string().datetime(),
  period_end: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/queue.ts:117.

QueueStats

export type QueueStats = z.infer<typeof QueueStats>

Source: minds-ui/apps/api-service/types/queue.ts:131.

GetQueueStatsResponse

GetQueueStatsResponse = z.object({
  stats: QueueStats,
  period: z.object({
    start: z.string().datetime(),
    end: z.string().datetime(),
  }),
})

Source: minds-ui/apps/api-service/types/queue.ts:137.

GetQueueStatsResponse

export type GetQueueStatsResponse = z.infer<typeof GetQueueStatsResponse>

Source: minds-ui/apps/api-service/types/queue.ts:145.

QueueConfig

QueueConfig = z.object({
  name: z.string(),
  concurrency: z.number().int().min(1).max(100).optional().default(1),
  max_attempts: z.number().int().min(1).max(10).optional().default(3),
  retry_delay_ms: z.number().int().min(100).optional().default(1000),
  timeout_ms: z.number().int().min(1000).optional().default(30000),
  dead_letter_queue: z.string().optional(),
  enabled: z.boolean().optional().default(true),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/queue.ts:151.

QueueConfig

export type QueueConfig = z.infer<typeof QueueConfig>

Source: minds-ui/apps/api-service/types/queue.ts:163.

CreateQueueRequest

CreateQueueRequest = z.object({
  name: z.string().min(1).max(100),
  concurrency: z.number().int().min(1).max(100).optional().default(1),
  max_attempts: z.number().int().min(1).max(10).optional().default(3),
  retry_delay_ms: z.number().int().min(100).optional().default(1000),
  timeout_ms: z.number().int().min(1000).optional().default(30000),
  dead_letter_queue: z.string().optional(),
})

Source: minds-ui/apps/api-service/types/queue.ts:169.

CreateQueueRequest

export type CreateQueueRequest = z.infer<typeof CreateQueueRequest>

Source: minds-ui/apps/api-service/types/queue.ts:178.

UpdateQueueRequest

UpdateQueueRequest = z.object({
  concurrency: z.number().int().min(1).max(100).optional(),
  max_attempts: z.number().int().min(1).max(10).optional(),
  retry_delay_ms: z.number().int().min(100).optional(),
  timeout_ms: z.number().int().min(1000).optional(),
  dead_letter_queue: z.string().optional(),
  enabled: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/queue.ts:184.

UpdateQueueRequest

export type UpdateQueueRequest = z.infer<typeof UpdateQueueRequest>

Source: minds-ui/apps/api-service/types/queue.ts:193.

ListQueuesResponse

ListQueuesResponse = z.object({
  queues: z.array(QueueConfig),
})

Source: minds-ui/apps/api-service/types/queue.ts:199.

ListQueuesResponse

export type ListQueuesResponse = z.infer<typeof ListQueuesResponse>

Source: minds-ui/apps/api-service/types/queue.ts:203.

QueueWorker

QueueWorker = z.object({
  id: z.string(),
  queue_name: z.string(),
  status: z.enum(['idle', 'busy', 'stopped']),
  current_item_id: z.string().nullable(),
  processed_items: z.number().int(),
  failed_items: z.number().int(),
  started_at: z.string().datetime(),
  last_activity_at: z.string().datetime().nullable(),
})

Source: minds-ui/apps/api-service/types/queue.ts:209.

QueueWorker

export type QueueWorker = z.infer<typeof QueueWorker>

Source: minds-ui/apps/api-service/types/queue.ts:220.

ListQueueWorkersResponse

ListQueueWorkersResponse = z.object({
  workers: z.array(QueueWorker),
})

Source: minds-ui/apps/api-service/types/queue.ts:226.

ListQueueWorkersResponse

export type ListQueueWorkersResponse = z.infer<typeof ListQueueWorkersResponse>

Source: minds-ui/apps/api-service/types/queue.ts:230.

QueueJob

QueueJob = z.object({
  id: z.string(),
  name: z.string(),
  queue_name: z.string(),
  handler: z.string(),
  description: z.string().optional(),
  enabled: z.boolean(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/queue.ts:236.

QueueJob

export type QueueJob = z.infer<typeof QueueJob>

Source: minds-ui/apps/api-service/types/queue.ts:247.

CreateQueueJobRequest

CreateQueueJobRequest = z.object({
  name: z.string().min(1).max(100),
  queue_name: z.string(),
  handler: z.string(),
  description: z.string().max(500).optional(),
})

Source: minds-ui/apps/api-service/types/queue.ts:253.

CreateQueueJobRequest

export type CreateQueueJobRequest = z.infer<typeof CreateQueueJobRequest>

Source: minds-ui/apps/api-service/types/queue.ts:260.

UpdateQueueJobRequest

UpdateQueueJobRequest = z.object({
  name: z.string().min(1).max(100).optional(),
  handler: z.string().optional(),
  description: z.string().max(500).optional(),
  enabled: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/queue.ts:266.

UpdateQueueJobRequest

export type UpdateQueueJobRequest = z.infer<typeof UpdateQueueJobRequest>

Source: minds-ui/apps/api-service/types/queue.ts:273.

ListQueueJobsResponse

ListQueueJobsResponse = z.object({
  jobs: z.array(QueueJob),
})

Source: minds-ui/apps/api-service/types/queue.ts:279.

ListQueueJobsResponse

export type ListQueueJobsResponse = z.infer<typeof ListQueueJobsResponse>

Source: minds-ui/apps/api-service/types/queue.ts:283.

QueueSchedule

QueueSchedule = z.object({
  id: z.string(),
  queue_name: z.string(),
  job_name: z.string(),
  cron_expression: z.string(),
  payload: z.record(z.unknown()),
  timezone: z.string().optional(),
  enabled: z.boolean(),
  last_run: z.string().datetime().nullable(),
  next_run: z.string().datetime().nullable(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/queue.ts:289.

QueueSchedule

export type QueueSchedule = z.infer<typeof QueueSchedule>

Source: minds-ui/apps/api-service/types/queue.ts:303.

CreateQueueScheduleRequest

CreateQueueScheduleRequest = z.object({
  queue_name: z.string(),
  job_name: z.string(),
  cron_expression: z.string(),
  payload: z.record(z.unknown()),
  timezone: z.string().optional(),
})

Source: minds-ui/apps/api-service/types/queue.ts:309.

CreateQueueScheduleRequest

export type CreateQueueScheduleRequest = z.infer<typeof CreateQueueScheduleRequest>

Source: minds-ui/apps/api-service/types/queue.ts:317.

UpdateQueueScheduleRequest

UpdateQueueScheduleRequest = z.object({
  cron_expression: z.string().optional(),
  payload: z.record(z.unknown()).optional(),
  timezone: z.string().optional(),
  enabled: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/queue.ts:323.

UpdateQueueScheduleRequest

export type UpdateQueueScheduleRequest = z.infer<typeof UpdateQueueScheduleRequest>

Source: minds-ui/apps/api-service/types/queue.ts:330.

ListQueueSchedulesResponse

ListQueueSchedulesResponse = z.object({
  schedules: z.array(QueueSchedule),
})

Source: minds-ui/apps/api-service/types/queue.ts:336.

ListQueueSchedulesResponse

export type ListQueueSchedulesResponse = z.infer<typeof ListQueueSchedulesResponse>

Source: minds-ui/apps/api-service/types/queue.ts:340.

QueueDeadLetterItem

QueueDeadLetterItem = z.object({
  id: z.string(),
  original_queue_name: z.string(),
  payload: z.record(z.unknown()),
  error_message: z.string(),
  attempts: z.number().int(),
  failed_at: z.string().datetime(),
  metadata: z.record(z.unknown()).optional(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/queue.ts:346.

QueueDeadLetterItem

export type QueueDeadLetterItem = z.infer<typeof QueueDeadLetterItem>

Source: minds-ui/apps/api-service/types/queue.ts:357.

ListQueueDeadLetterItemsQuery

ListQueueDeadLetterItemsQuery = z.object({
  limit: z.coerce.number().int().min(1).max(1000).default(100),
  offset: z.coerce.number().int().min(0).default(0),
  start_date: z.string().datetime().optional(),
  end_date: z.string().datetime().optional(),
})

Source: minds-ui/apps/api-service/types/queue.ts:363.

ListQueueDeadLetterItemsQuery

export type ListQueueDeadLetterItemsQuery = z.infer<typeof ListQueueDeadLetterItemsQuery>

Source: minds-ui/apps/api-service/types/queue.ts:370.

ListQueueDeadLetterItemsResponse

ListQueueDeadLetterItemsResponse = z.object({
  items: z.array(QueueDeadLetterItem),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/queue.ts:376.

ListQueueDeadLetterItemsResponse

export type ListQueueDeadLetterItemsResponse = z.infer<typeof ListQueueDeadLetterItemsResponse>

Source: minds-ui/apps/api-service/types/queue.ts:385.

RetryQueueItemRequest

RetryQueueItemRequest = z.object({
  item_id: z.string(),
  delay_ms: z.number().int().min(0).optional().default(0),
})

Source: minds-ui/apps/api-service/types/queue.ts:391.

RetryQueueItemRequest

export type RetryQueueItemRequest = z.infer<typeof RetryQueueItemRequest>

Source: minds-ui/apps/api-service/types/queue.ts:396.

RetryQueueItemResponse

RetryQueueItemResponse = z.object({
  item_id: z.string(),
  status: QueueStatus,
  retry_at: z.string().datetime().optional(),
})

Source: minds-ui/apps/api-service/types/queue.ts:402.

RetryQueueItemResponse

export type RetryQueueItemResponse = z.infer<typeof RetryQueueItemResponse>

Source: minds-ui/apps/api-service/types/queue.ts:408.

CancelQueueItemRequest

CancelQueueItemRequest = z.object({
  item_id: z.string(),
  reason: z.string().max(500).optional(),
})

Source: minds-ui/apps/api-service/types/queue.ts:414.

CancelQueueItemRequest

export type CancelQueueItemRequest = z.infer<typeof CancelQueueItemRequest>

Source: minds-ui/apps/api-service/types/queue.ts:419.

CancelQueueItemResponse

CancelQueueItemResponse = z.object({
  item_id: z.string(),
  status: QueueStatus,
  cancelled_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/queue.ts:425.

CancelQueueItemResponse

export type CancelQueueItemResponse = z.infer<typeof CancelQueueItemResponse>

Source: minds-ui/apps/api-service/types/queue.ts:431.

minds-ui/apps/api-service/types/region.ts

RegionProvider

RegionProvider = z.enum(['KKP', 'TALOS', 'EKS', 'AKS', 'GKE'])

Source: minds-ui/apps/api-service/types/region.ts:12.

RegionProvider

export type RegionProvider = z.infer<typeof RegionProvider>

Source: minds-ui/apps/api-service/types/region.ts:13.

RegionStatus

RegionStatus = z.enum(['ACTIVE', 'DEGRADED', 'DRAINING', 'DISABLED'])

Source: minds-ui/apps/api-service/types/region.ts:15.

RegionStatus

export type RegionStatus = z.infer<typeof RegionStatus>

Source: minds-ui/apps/api-service/types/region.ts:16.

RegionCapacity

RegionCapacity = z.object({
  autoScales: z.boolean(),
  maxTenants: z.number().nullable(),
  currentTenantCount: z.number(),
  cpuCapacityMillis: z.number().nullable(),
  cpuAllocatedMillis: z.number().nullable(),
  cpuUtilizationPercent: z.number().nullable(),
  memoryCapacityMb: z.number().nullable(),
  memoryAllocatedMb: z.number().nullable(),
  memoryUtilizationPercent: z.number().nullable(),
  storageCapacityGb: z.number().nullable(),
  storageAllocatedGb: z.number().nullable(),
  storageUtilizationPercent: z.number().nullable(),
  isOverloaded: z.boolean(),
  acceptingNewTenants: z.boolean(),
})

Source: minds-ui/apps/api-service/types/region.ts:22.

RegionCapacity

export type RegionCapacity = z.infer<typeof RegionCapacity>

Source: minds-ui/apps/api-service/types/region.ts:38.

RegionResponse

RegionResponse = z.object({
  id: z.string(),
  slug: z.string(),
  name: z.string(),
  displayName: z.string(),
  description: z.string().nullable(),
  provider: RegionProvider,
  status: RegionStatus,
  isPrimary: z.boolean(),
  ingressDomain: z.string().nullable(),
  latitude: z.number().nullable(),
  longitude: z.number().nullable(),
  capacity: RegionCapacity,
  lastHealthCheck: z.string().nullable(),
  healthMessage: z.string().nullable(),
})

Source: minds-ui/apps/api-service/types/region.ts:44.

RegionResponse

export type RegionResponse = z.infer<typeof RegionResponse>

Source: minds-ui/apps/api-service/types/region.ts:60.

ListRegionsQuery

ListRegionsQuery = z.object({
  status: RegionStatus.optional(),
  provider: RegionProvider.optional(),
  accepting_tenants: z.coerce.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/region.ts:66.

ListRegionsQuery

export type ListRegionsQuery = z.infer<typeof ListRegionsQuery>

Source: minds-ui/apps/api-service/types/region.ts:71.

ListRegionsResponse

ListRegionsResponse = z.object({
  regions: z.array(RegionResponse),
  defaultRegion: z.string().nullable(),
})

Source: minds-ui/apps/api-service/types/region.ts:73.

ListRegionsResponse

export type ListRegionsResponse = z.infer<typeof ListRegionsResponse>

Source: minds-ui/apps/api-service/types/region.ts:77.

CreateRegionRequest

CreateRegionRequest = z.object({
  slug: z.string().min(2).max(50).regex(/^[a-z0-9-]+$/),
  name: z.string().min(1).max(100),
  displayName: z.string().min(1).max(200),
  description: z.string().max(500).optional(),
  provider: RegionProvider,
  isPrimary: z.boolean().optional().default(false),
  controlPlaneEndpoint: z.string().url().optional(),
  ingressDomain: z.string().optional(),
  kkpProjectId: z.string().optional(),
  kkpClusterId: z.string().optional(),
  kubeconfigSecretPath: z.string(),
  tlsBundleSecretPath: z.string().optional(),
  autoScales: z.boolean().optional().default(false),
  maxTenants: z.number().positive().optional(),
  latitude: z.number().min(-90).max(90).optional(),
  longitude: z.number().min(-180).max(180).optional(),
})

Source: minds-ui/apps/api-service/types/region.ts:83.

CreateRegionRequest

export type CreateRegionRequest = z.infer<typeof CreateRegionRequest>

Source: minds-ui/apps/api-service/types/region.ts:101.

UpdateRegionRequest

UpdateRegionRequest = z.object({
  name: z.string().min(1).max(100).optional(),
  displayName: z.string().min(1).max(200).optional(),
  description: z.string().max(500).optional(),
  status: RegionStatus.optional(),
  isPrimary: z.boolean().optional(),
  autoScales: z.boolean().optional(),
  maxTenants: z.number().positive().nullable().optional(),
  latitude: z.number().min(-90).max(90).optional(),
  longitude: z.number().min(-180).max(180).optional(),
})

Source: minds-ui/apps/api-service/types/region.ts:103.

UpdateRegionRequest

export type UpdateRegionRequest = z.infer<typeof UpdateRegionRequest>

Source: minds-ui/apps/api-service/types/region.ts:114.

RegionHealthResponse

RegionHealthResponse = z.object({
  regionId: z.string(),
  slug: z.string(),
  status: RegionStatus,
  healthy: z.boolean(),
  lastCheck: z.string(),
  message: z.string().nullable(),
  capacity: RegionCapacity,
  kubernetesConnected: z.boolean(),
  ingressHealthy: z.boolean(),
  certificatesValid: z.boolean(),
})

Source: minds-ui/apps/api-service/types/region.ts:120.

RegionHealthResponse

export type RegionHealthResponse = z.infer<typeof RegionHealthResponse>

Source: minds-ui/apps/api-service/types/region.ts:132.

minds-ui/apps/api-service/types/security.ts

SecurityThreatLevel

SecurityThreatLevel = z.enum([
  'low',
  'medium',
  'high',
  'critical',
])

Source: minds-ui/apps/api-service/types/security.ts:7.

SecurityThreatLevel

export type SecurityThreatLevel = z.infer<typeof SecurityThreatLevel>

Source: minds-ui/apps/api-service/types/security.ts:14.

SecurityEventType

SecurityEventType = z.enum([
  'login_attempt',
  'login_success',
  'login_failure',
  'logout',
  'password_change',
  'api_key_created',
  'api_key_revoked',
  'permission_granted',
  'permission_revoked',
  'data_access',
  'data_export',
  'data_import',
  'configuration_change',
  'suspicious_activity',
  'brute_force_attack',
  'sql_injection_attempt',
  'xss_attempt',
  'csrf_attempt',
  'unauthorized_access',
  'privilege_escalation',
])

Source: minds-ui/apps/api-service/types/security.ts:20.

SecurityEventType

export type SecurityEventType = z.infer<typeof SecurityEventType>

Source: minds-ui/apps/api-service/types/security.ts:43.

SecurityEvent

SecurityEvent = z.object({
  id: z.string(),
  type: SecurityEventType,
  threat_level: SecurityThreatLevel,
  user_id: z.string().optional(),
  tenant_id: z.string().optional(),
  organization_id: z.string().optional(),
  ip_address: z.string().optional(),
  user_agent: z.string().optional(),
  request_id: z.string().optional(),
  session_id: z.string().optional(),
  api_key_id: z.string().optional(),
  message: z.string(),
  details: z.record(z.unknown()).optional(),
  resolved: z.boolean(),
  resolved_by: z.string().optional(),
  resolved_at: z.string().datetime().optional(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/security.ts:49.

SecurityEvent

export type SecurityEvent = z.infer<typeof SecurityEvent>

Source: minds-ui/apps/api-service/types/security.ts:69.

ListSecurityEventsQuery

ListSecurityEventsQuery = z.object({
  limit: z.coerce.number().int().min(1).max(1000).default(100),
  offset: z.coerce.number().int().min(0).default(0),
  type: SecurityEventType.optional(),
  threat_level: SecurityThreatLevel.optional(),
  user_id: z.string().optional(),
  tenant_id: z.string().optional(),
  organization_id: z.string().optional(),
  ip_address: z.string().optional(),
  resolved: z.boolean().optional(),
  start_date: z.string().datetime().optional(),
  end_date: z.string().datetime().optional(),
})

Source: minds-ui/apps/api-service/types/security.ts:75.

ListSecurityEventsQuery

export type ListSecurityEventsQuery = z.infer<typeof ListSecurityEventsQuery>

Source: minds-ui/apps/api-service/types/security.ts:89.

ListSecurityEventsResponse

ListSecurityEventsResponse = z.object({
  events: z.array(SecurityEvent),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/security.ts:95.

ListSecurityEventsResponse

export type ListSecurityEventsResponse = z.infer<typeof ListSecurityEventsResponse>

Source: minds-ui/apps/api-service/types/security.ts:104.

SecurityAlert

SecurityAlert = z.object({
  id: z.string(),
  title: z.string(),
  description: z.string(),
  threat_level: SecurityThreatLevel,
  event_type: SecurityEventType,
  user_id: z.string().optional(),
  tenant_id: z.string().optional(),
  organization_id: z.string().optional(),
  ip_address: z.string().optional(),
  metadata: z.record(z.unknown()).optional(),
  acknowledged: z.boolean(),
  acknowledged_by: z.string().optional(),
  acknowledged_at: z.string().datetime().optional(),
  resolved: z.boolean(),
  resolved_by: z.string().optional(),
  resolved_at: z.string().datetime().optional(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/security.ts:110.

SecurityAlert

export type SecurityAlert = z.infer<typeof SecurityAlert>

Source: minds-ui/apps/api-service/types/security.ts:130.

ListSecurityAlertsQuery

ListSecurityAlertsQuery = z.object({
  limit: z.coerce.number().int().min(1).max(100).default(20),
  offset: z.coerce.number().int().min(0).default(0),
  threat_level: SecurityThreatLevel.optional(),
  event_type: SecurityEventType.optional(),
  acknowledged: z.boolean().optional(),
  resolved: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/security.ts:136.

ListSecurityAlertsQuery

export type ListSecurityAlertsQuery = z.infer<typeof ListSecurityAlertsQuery>

Source: minds-ui/apps/api-service/types/security.ts:145.

ListSecurityAlertsResponse

ListSecurityAlertsResponse = z.object({
  alerts: z.array(SecurityAlert),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/security.ts:151.

ListSecurityAlertsResponse

export type ListSecurityAlertsResponse = z.infer<typeof ListSecurityAlertsResponse>

Source: minds-ui/apps/api-service/types/security.ts:160.

AcknowledgeSecurityAlertRequest

AcknowledgeSecurityAlertRequest = z.object({
  message: z.string().max(500).optional(),
})

Source: minds-ui/apps/api-service/types/security.ts:166.

AcknowledgeSecurityAlertRequest

export type AcknowledgeSecurityAlertRequest = z.infer<typeof AcknowledgeSecurityAlertRequest>

Source: minds-ui/apps/api-service/types/security.ts:170.

AcknowledgeSecurityAlertResponse

AcknowledgeSecurityAlertResponse = z.object({
  alert_id: z.string(),
  acknowledged: z.boolean(),
  acknowledged_by: z.string(),
  acknowledged_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/security.ts:176.

AcknowledgeSecurityAlertResponse

export type AcknowledgeSecurityAlertResponse = z.infer<typeof AcknowledgeSecurityAlertResponse>

Source: minds-ui/apps/api-service/types/security.ts:183.

ResolveSecurityAlertRequest

ResolveSecurityAlertRequest = z.object({
  message: z.string().max(500).optional(),
})

Source: minds-ui/apps/api-service/types/security.ts:189.

ResolveSecurityAlertRequest

export type ResolveSecurityAlertRequest = z.infer<typeof ResolveSecurityAlertRequest>

Source: minds-ui/apps/api-service/types/security.ts:193.

ResolveSecurityAlertResponse

ResolveSecurityAlertResponse = z.object({
  alert_id: z.string(),
  resolved: z.boolean(),
  resolved_by: z.string(),
  resolved_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/security.ts:199.

ResolveSecurityAlertResponse

export type ResolveSecurityAlertResponse = z.infer<typeof ResolveSecurityAlertResponse>

Source: minds-ui/apps/api-service/types/security.ts:206.

SecurityPolicy

SecurityPolicy = z.object({
  id: z.string(),
  name: z.string(),
  description: z.string().optional(),
  policy_type: z.enum(['access_control', 'data_protection', 'audit', 'incident_response']),
  rules: z.array(z.record(z.unknown())),
  enabled: z.boolean(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/security.ts:212.

SecurityPolicy

export type SecurityPolicy = z.infer<typeof SecurityPolicy>

Source: minds-ui/apps/api-service/types/security.ts:223.

CreateSecurityPolicyRequest

CreateSecurityPolicyRequest = z.object({
  name: z.string().min(1).max(100),
  description: z.string().max(500).optional(),
  policy_type: z.enum(['access_control', 'data_protection', 'audit', 'incident_response']),
  rules: z.array(z.record(z.unknown())).min(1),
})

Source: minds-ui/apps/api-service/types/security.ts:229.

CreateSecurityPolicyRequest

export type CreateSecurityPolicyRequest = z.infer<typeof CreateSecurityPolicyRequest>

Source: minds-ui/apps/api-service/types/security.ts:236.

UpdateSecurityPolicyRequest

UpdateSecurityPolicyRequest = z.object({
  name: z.string().min(1).max(100).optional(),
  description: z.string().max(500).optional(),
  rules: z.array(z.record(z.unknown())).optional(),
  enabled: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/security.ts:242.

UpdateSecurityPolicyRequest

export type UpdateSecurityPolicyRequest = z.infer<typeof UpdateSecurityPolicyRequest>

Source: minds-ui/apps/api-service/types/security.ts:249.

ListSecurityPoliciesResponse

ListSecurityPoliciesResponse = z.object({
  policies: z.array(SecurityPolicy),
})

Source: minds-ui/apps/api-service/types/security.ts:255.

ListSecurityPoliciesResponse

export type ListSecurityPoliciesResponse = z.infer<typeof ListSecurityPoliciesResponse>

Source: minds-ui/apps/api-service/types/security.ts:259.

SecurityScan

SecurityScan = z.object({
  id: z.string(),
  name: z.string(),
  scan_type: z.enum(['vulnerability', 'compliance', 'penetration', 'code_analysis']),
  target: z.string(),
  schedule: z.string().optional(), // Cron expression
  enabled: z.boolean(),
  last_run: z.string().datetime().nullable(),
  next_run: z.string().datetime().nullable(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/security.ts:265.

SecurityScan

export type SecurityScan = z.infer<typeof SecurityScan>

Source: minds-ui/apps/api-service/types/security.ts:278.

CreateSecurityScanRequest

CreateSecurityScanRequest = z.object({
  name: z.string().min(1).max(100),
  scan_type: z.enum(['vulnerability', 'compliance', 'penetration', 'code_analysis']),
  target: z.string(),
  schedule: z.string().optional(),
})

Source: minds-ui/apps/api-service/types/security.ts:284.

CreateSecurityScanRequest

export type CreateSecurityScanRequest = z.infer<typeof CreateSecurityScanRequest>

Source: minds-ui/apps/api-service/types/security.ts:291.

UpdateSecurityScanRequest

UpdateSecurityScanRequest = z.object({
  name: z.string().min(1).max(100).optional(),
  target: z.string().optional(),
  schedule: z.string().optional(),
  enabled: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/security.ts:297.

UpdateSecurityScanRequest

export type UpdateSecurityScanRequest = z.infer<typeof UpdateSecurityScanRequest>

Source: minds-ui/apps/api-service/types/security.ts:304.

ListSecurityScansResponse

ListSecurityScansResponse = z.object({
  scans: z.array(SecurityScan),
})

Source: minds-ui/apps/api-service/types/security.ts:310.

ListSecurityScansResponse

export type ListSecurityScansResponse = z.infer<typeof ListSecurityScansResponse>

Source: minds-ui/apps/api-service/types/security.ts:314.

SecurityScanResult

SecurityScanResult = z.object({
  id: z.string(),
  scan_id: z.string(),
  status: z.enum(['running', 'completed', 'failed']),
  findings: z.array(z.object({
    severity: SecurityThreatLevel,
    title: z.string(),
    description: z.string(),
    recommendation: z.string().optional(),
    cve: z.string().optional(),
    cvss_score: z.number().optional(),
  })),
  started_at: z.string().datetime(),
  completed_at: z.string().datetime().nullable(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/security.ts:320.

SecurityScanResult

export type SecurityScanResult = z.infer<typeof SecurityScanResult>

Source: minds-ui/apps/api-service/types/security.ts:337.

ListSecurityScanResultsQuery

ListSecurityScanResultsQuery = z.object({
  limit: z.coerce.number().int().min(1).max(100).default(20),
  offset: z.coerce.number().int().min(0).default(0),
  status: z.enum(['running', 'completed', 'failed']).optional(),
})

Source: minds-ui/apps/api-service/types/security.ts:343.

ListSecurityScanResultsQuery

export type ListSecurityScanResultsQuery = z.infer<typeof ListSecurityScanResultsQuery>

Source: minds-ui/apps/api-service/types/security.ts:349.

ListSecurityScanResultsResponse

ListSecurityScanResultsResponse = z.object({
  results: z.array(SecurityScanResult),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/security.ts:355.

ListSecurityScanResultsResponse

export type ListSecurityScanResultsResponse = z.infer<typeof ListSecurityScanResultsResponse>

Source: minds-ui/apps/api-service/types/security.ts:364.

SecurityCompliance

SecurityCompliance = z.object({
  id: z.string(),
  name: z.string(),
  framework: z.enum(['SOC2', 'ISO27001', 'GDPR', 'HIPAA', 'PCI-DSS', 'NIST']),
  description: z.string().optional(),
  requirements: z.array(z.object({
    id: z.string(),
    title: z.string(),
    description: z.string(),
    status: z.enum(['compliant', 'non_compliant', 'partial', 'not_applicable']),
    evidence: z.array(z.string()).optional(),
  })),
  last_assessment: z.string().datetime().nullable(),
  next_assessment: z.string().datetime().nullable(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/security.ts:370.

SecurityCompliance

export type SecurityCompliance = z.infer<typeof SecurityCompliance>

Source: minds-ui/apps/api-service/types/security.ts:388.

CreateSecurityComplianceRequest

CreateSecurityComplianceRequest = z.object({
  name: z.string().min(1).max(100),
  framework: z.enum(['SOC2', 'ISO27001', 'GDPR', 'HIPAA', 'PCI-DSS', 'NIST']),
  description: z.string().max(500).optional(),
})

Source: minds-ui/apps/api-service/types/security.ts:394.

CreateSecurityComplianceRequest

export type CreateSecurityComplianceRequest = z.infer<typeof CreateSecurityComplianceRequest>

Source: minds-ui/apps/api-service/types/security.ts:400.

UpdateSecurityComplianceRequest

UpdateSecurityComplianceRequest = z.object({
  name: z.string().min(1).max(100).optional(),
  description: z.string().max(500).optional(),
  requirements: z.array(z.object({
    id: z.string(),
    title: z.string(),
    description: z.string(),
    status: z.enum(['compliant', 'non_compliant', 'partial', 'not_applicable']),
    evidence: z.array(z.string()).optional(),
  })).optional(),
})

Source: minds-ui/apps/api-service/types/security.ts:406.

UpdateSecurityComplianceRequest

export type UpdateSecurityComplianceRequest = z.infer<typeof UpdateSecurityComplianceRequest>

Source: minds-ui/apps/api-service/types/security.ts:418.

ListSecurityComplianceResponse

ListSecurityComplianceResponse = z.object({
  compliance: z.array(SecurityCompliance),
})

Source: minds-ui/apps/api-service/types/security.ts:424.

ListSecurityComplianceResponse

export type ListSecurityComplianceResponse = z.infer<typeof ListSecurityComplianceResponse>

Source: minds-ui/apps/api-service/types/security.ts:428.

SecurityStats

SecurityStats = z.object({
  total_events: z.number().int(),
  events_by_level: z.record(z.number().int()),
  events_by_type: z.record(z.number().int()),
  active_alerts: z.number().int(),
  resolved_alerts: z.number().int(),
  compliance_score: z.number().min(0).max(100),
  period_start: z.string().datetime(),
  period_end: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/security.ts:434.

SecurityStats

export type SecurityStats = z.infer<typeof SecurityStats>

Source: minds-ui/apps/api-service/types/security.ts:445.

GetSecurityStatsResponse

GetSecurityStatsResponse = z.object({
  stats: SecurityStats,
  period: z.object({
    start: z.string().datetime(),
    end: z.string().datetime(),
  }),
})

Source: minds-ui/apps/api-service/types/security.ts:451.

GetSecurityStatsResponse

export type GetSecurityStatsResponse = z.infer<typeof GetSecurityStatsResponse>

Source: minds-ui/apps/api-service/types/security.ts:459.

SecurityIncident

SecurityIncident = z.object({
  id: z.string(),
  title: z.string(),
  description: z.string(),
  severity: SecurityThreatLevel,
  status: z.enum(['open', 'investigating', 'contained', 'resolved', 'closed']),
  assigned_to: z.string().optional(),
  affected_users: z.array(z.string()).optional(),
  affected_tenants: z.array(z.string()).optional(),
  timeline: z.array(z.object({
    timestamp: z.string().datetime(),
    event: z.string(),
    user: z.string().optional(),
  })),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/security.ts:465.

SecurityIncident

export type SecurityIncident = z.infer<typeof SecurityIncident>

Source: minds-ui/apps/api-service/types/security.ts:483.

CreateSecurityIncidentRequest

CreateSecurityIncidentRequest = z.object({
  title: z.string().min(1).max(200),
  description: z.string().min(1).max(1000),
  severity: SecurityThreatLevel,
  affected_users: z.array(z.string()).optional(),
  affected_tenants: z.array(z.string()).optional(),
})

Source: minds-ui/apps/api-service/types/security.ts:489.

CreateSecurityIncidentRequest

export type CreateSecurityIncidentRequest = z.infer<typeof CreateSecurityIncidentRequest>

Source: minds-ui/apps/api-service/types/security.ts:497.

UpdateSecurityIncidentRequest

UpdateSecurityIncidentRequest = z.object({
  title: z.string().min(1).max(200).optional(),
  description: z.string().min(1).max(1000).optional(),
  severity: SecurityThreatLevel.optional(),
  status: z.enum(['open', 'investigating', 'contained', 'resolved', 'closed']).optional(),
  assigned_to: z.string().optional(),
})

Source: minds-ui/apps/api-service/types/security.ts:503.

UpdateSecurityIncidentRequest

export type UpdateSecurityIncidentRequest = z.infer<typeof UpdateSecurityIncidentRequest>

Source: minds-ui/apps/api-service/types/security.ts:511.

ListSecurityIncidentsQuery

ListSecurityIncidentsQuery = z.object({
  limit: z.coerce.number().int().min(1).max(100).default(20),
  offset: z.coerce.number().int().min(0).default(0),
  severity: SecurityThreatLevel.optional(),
  status: z.enum(['open', 'investigating', 'contained', 'resolved', 'closed']).optional(),
  assigned_to: z.string().optional(),
})

Source: minds-ui/apps/api-service/types/security.ts:517.

ListSecurityIncidentsQuery

export type ListSecurityIncidentsQuery = z.infer<typeof ListSecurityIncidentsQuery>

Source: minds-ui/apps/api-service/types/security.ts:525.

ListSecurityIncidentsResponse

ListSecurityIncidentsResponse = z.object({
  incidents: z.array(SecurityIncident),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/security.ts:531.

ListSecurityIncidentsResponse

export type ListSecurityIncidentsResponse = z.infer<typeof ListSecurityIncidentsResponse>

Source: minds-ui/apps/api-service/types/security.ts:540.

minds-ui/apps/api-service/types/service.ts

ServiceCategory

ServiceCategory = z.enum([
  'storage',
  'compute',
  'memory',
  'backup',
  'full_stack',
])

Source: minds-ui/apps/api-service/types/service.ts:7.

ServiceCategory

export type ServiceCategory = z.infer<typeof ServiceCategory>

Source: minds-ui/apps/api-service/types/service.ts:15.

ServiceStatus

ServiceStatus = z.enum([
  'provisioning',
  'active',
  'degraded',
  'suspended',
  'failed',
  'deleted',
])

Source: minds-ui/apps/api-service/types/service.ts:21.

ServiceStatus

export type ServiceStatus = z.infer<typeof ServiceStatus>

Source: minds-ui/apps/api-service/types/service.ts:30.

ServicePlanName

ServicePlanName = z.enum(['free', 'starter', 'pro', 'enterprise'])

Source: minds-ui/apps/api-service/types/service.ts:36.

ServicePlanName

export type ServicePlanName = z.infer<typeof ServicePlanName>

Source: minds-ui/apps/api-service/types/service.ts:38.

ServiceType

ServiceType = z.object({
  id: z.string(),
  name: z.string(), // e.g., "kv", "graph", "vector", "full_akasha"
  display_name: z.string(),
  description: z.string().optional(),
  category: ServiceCategory,
  capabilities: z.array(z.string()), // e.g., ["kv", "transactions", "mvcc"]
  base_price: z.number(),
  pricing_unit: z.string(), // "requests", "storage", "inferences"
  default_config: z.record(z.unknown()).optional(),
  enabled: z.boolean(),
  beta_only: z.boolean(),
})

Source: minds-ui/apps/api-service/types/service.ts:44.

ServiceType

export type ServiceType = z.infer<typeof ServiceType>

Source: minds-ui/apps/api-service/types/service.ts:58.

ServiceInstance

ServiceInstance = z.object({
  id: z.string(),
  service_type_id: z.string(),
  tenant_id: z.string().optional(),
  name: z.string(),
  slug: z.string(),
  endpoint: z.string().url().optional(),
  config: z.record(z.unknown()).optional(),
  plan: ServicePlanName,
  status: ServiceStatus,
  region: z.string(),
  storage_quota_gb: z.number().int().optional(),
  bound_to_instance_id: z.string().optional(),
  binding_config: z.record(z.unknown()).optional(),
  metadata: z.record(z.unknown()).optional(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
  deleted_at: z.string().datetime().optional(),
})

Source: minds-ui/apps/api-service/types/service.ts:64.

ServiceInstance

export type ServiceInstance = z.infer<typeof ServiceInstance>

Source: minds-ui/apps/api-service/types/service.ts:84.

Bundle

Bundle = z.object({
  id: z.string(),
  name: z.string(),
  display_name: z.string(),
  description: z.string().optional(),
  is_default: z.boolean(),
  enabled: z.boolean(),
  services: z.array(
    z.object({
      service_type: ServiceType,
      required: z.boolean(),
      display_order: z.number().int(),
    }),
  ),
})

Source: minds-ui/apps/api-service/types/service.ts:90.

Bundle

export type Bundle = z.infer<typeof Bundle>

Source: minds-ui/apps/api-service/types/service.ts:106.

ServicePlanTier

ServicePlanTier = z.object({
  id: z.string(),
  service_type_id: z.string(),
  plan: ServicePlanName,
  storage_quota_gb: z.number().int().optional(),
  included_requests: z.number().int().optional(),
  included_inferences: z.number().int().optional(),
  included_operations: z.number().int().optional(),
  base_price: z.number(),
  overage_rates: z.record(z.number()).optional(),
  features: z.array(z.string()).optional(),
})

Source: minds-ui/apps/api-service/types/service.ts:112.

ServicePlanTier

export type ServicePlanTier = z.infer<typeof ServicePlanTier>

Source: minds-ui/apps/api-service/types/service.ts:125.

CreateServiceRequest

CreateServiceRequest = z.object({
  service_type: z.string(), // Service type name (e.g., "kv", "graph")
  name: z.string().min(1).max(100),
  slug: z
    .string()
    .regex(/^[a-z0-9-]+$/)
    .min(3)
    .max(63)
    .optional(), // Auto-generated if omitted
  plan: ServicePlanName.optional().default('free'),
  region: z.string().optional().default('us-east-1'),
  config: z.record(z.unknown()).optional(),
  tenant_id: z.string().optional(), // Link to existing tenant
})

Source: minds-ui/apps/api-service/types/service.ts:131.

CreateServiceRequest

export type CreateServiceRequest = z.infer<typeof CreateServiceRequest>

Source: minds-ui/apps/api-service/types/service.ts:146.

CreateServiceResponse

CreateServiceResponse = z.object({
  service_id: z.string(),
  service_type: z.string(),
  name: z.string(),
  slug: z.string(),
  endpoint: z.string().url().optional(),
  status: z.literal('provisioning'),
  created_at: z.string().datetime(),
  estimated_ready_in: z.number().int(), // seconds
})

Source: minds-ui/apps/api-service/types/service.ts:152.

CreateServiceResponse

export type CreateServiceResponse = z.infer<typeof CreateServiceResponse>

Source: minds-ui/apps/api-service/types/service.ts:163.

UpdateServiceRequest

UpdateServiceRequest = z.object({
  name: z.string().min(1).max(100).optional(),
  plan: ServicePlanName.optional(),
  config: z.record(z.unknown()).optional(),
})

Source: minds-ui/apps/api-service/types/service.ts:169.

UpdateServiceRequest

export type UpdateServiceRequest = z.infer<typeof UpdateServiceRequest>

Source: minds-ui/apps/api-service/types/service.ts:175.

ListServicesQuery

ListServicesQuery = z.object({
  tenant_id: z.string().optional(),
  service_type: z.string().optional(),
  status: ServiceStatus.optional(),
  limit: z.coerce.number().int().min(1).max(100).default(20),
  offset: z.coerce.number().int().min(0).default(0),
})

Source: minds-ui/apps/api-service/types/service.ts:181.

ListServicesQuery

export type ListServicesQuery = z.infer<typeof ListServicesQuery>

Source: minds-ui/apps/api-service/types/service.ts:189.

ListServicesResponse

ListServicesResponse = z.object({
  services: z.array(
    ServiceInstance.pick({
      id: true,
      service_type_id: true,
      tenant_id: true,
      name: true,
      slug: true,
      endpoint: true,
      plan: true,
      status: true,
      created_at: true,
    }),
  ),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/service.ts:195.

ListServicesResponse

export type ListServicesResponse = z.infer<typeof ListServicesResponse>

Source: minds-ui/apps/api-service/types/service.ts:216.

ServiceBindingRequest

ServiceBindingRequest = z.object({
  target_service_id: z.string(),
  binding_config: z.record(z.unknown()).optional(),
})

Source: minds-ui/apps/api-service/types/service.ts:222.

ServiceBindingRequest

export type ServiceBindingRequest = z.infer<typeof ServiceBindingRequest>

Source: minds-ui/apps/api-service/types/service.ts:227.

ServiceBindingResponse

ServiceBindingResponse = z.object({
  source_service_id: z.string(),
  target_service_id: z.string(),
  binding_status: z.enum(['bound', 'failed']),
  endpoint: z.string().url().optional(),
  binding_metadata: z.record(z.unknown()).optional(),
})

Source: minds-ui/apps/api-service/types/service.ts:233.

ServiceBindingResponse

export type ServiceBindingResponse = z.infer<typeof ServiceBindingResponse>

Source: minds-ui/apps/api-service/types/service.ts:241.

BundleExpansionRequest

BundleExpansionRequest = z.object({
  bundle_name: z.string(),
  base_slug: z.string().regex(/^[a-z0-9-]+$/),
  plan: ServicePlanName.default('free'),
  region: z.string().default('us-east-1'),
  tenant_id: z.string().optional(),
  service_overrides: z
    .record(
      z.object({
        config: z.record(z.unknown()).optional(),
        plan: ServicePlanName.optional(),
      }),
    )
    .optional(),
})

Source: minds-ui/apps/api-service/types/service.ts:247.

BundleExpansionRequest

export type BundleExpansionRequest = z.infer<typeof BundleExpansionRequest>

Source: minds-ui/apps/api-service/types/service.ts:263.

BundleExpansionResponse

BundleExpansionResponse = z.object({
  bundle_name: z.string(),
  services: z.array(CreateServiceResponse),
  total_services: z.number().int(),
  estimated_ready_in: z.number().int(),
})

Source: minds-ui/apps/api-service/types/service.ts:269.

BundleExpansionResponse

export type BundleExpansionResponse = z.infer<typeof BundleExpansionResponse>

Source: minds-ui/apps/api-service/types/service.ts:276.

ServiceHealthCheck

ServiceHealthCheck = z.object({
  instance_reachable: z.boolean(),
  endpoint_responding: z.boolean(),
  storage_accessible: z.boolean().optional(),
  last_health_check: z.string().datetime().optional(),
})

Source: minds-ui/apps/api-service/types/service.ts:282.

ServiceHealthCheck

export type ServiceHealthCheck = z.infer<typeof ServiceHealthCheck>

Source: minds-ui/apps/api-service/types/service.ts:289.

ServiceStatusResponse

ServiceStatusResponse = z.object({
  id: z.string(),
  status: ServiceStatus,
  health: ServiceHealthCheck,
  current_operation: z
    .object({
      type: z.enum(['provisioning', 'scaling', 'backup', 'restore']),
      started_at: z.string().datetime(),
      progress_percent: z.number().min(0).max(100),
    })
    .optional(),
})

Source: minds-ui/apps/api-service/types/service.ts:295.

ServiceStatusResponse

export type ServiceStatusResponse = z.infer<typeof ServiceStatusResponse>

Source: minds-ui/apps/api-service/types/service.ts:308.

ListBundlesResponse

ListBundlesResponse = z.object({
  bundles: z.array(Bundle),
  total: z.number().int(),
})

Source: minds-ui/apps/api-service/types/service.ts:314.

ListBundlesResponse

export type ListBundlesResponse = z.infer<typeof ListBundlesResponse>

Source: minds-ui/apps/api-service/types/service.ts:319.

ListServiceTypesResponse

ListServiceTypesResponse = z.object({
  service_types: z.array(ServiceType),
  total: z.number().int(),
})

Source: minds-ui/apps/api-service/types/service.ts:325.

ListServiceTypesResponse

export type ListServiceTypesResponse = z.infer<typeof ListServiceTypesResponse>

Source: minds-ui/apps/api-service/types/service.ts:330.

minds-ui/apps/api-service/types/tenant.ts

TenantStatus

TenantStatus = z.enum([
  'provisioning', // K8s deployment in progress
  'active',       // Instance running and accessible
  'scaling',      // Horizontal scaling in progress
  'suspended',    // Payment failed or admin action
  'failed',       // Provisioning error
  'deleted',      // Soft-deleted, data retained for 30 days
])

Source: minds-ui/apps/api-service/types/tenant.ts:13.

TenantStatus

export type TenantStatus = z.infer<typeof TenantStatus>

Source: minds-ui/apps/api-service/types/tenant.ts:22.

TenantPlan

TenantPlan = z.enum(['free', 'starter', 'pro', 'enterprise'])

Source: minds-ui/apps/api-service/types/tenant.ts:28.

TenantPlan

export type TenantPlan = z.infer<typeof TenantPlan>

Source: minds-ui/apps/api-service/types/tenant.ts:30.

TenantRegion

export type TenantRegion = z.infer<typeof TenantRegion>

Source: minds-ui/apps/api-service/types/tenant.ts:41.

TenantConfig

TenantConfig = z.object({
  storage_gb: z.number().int().positive().optional(),
  enable_backups: z.boolean().optional(),
  retention_days: z.number().int().min(1).max(90).optional(),
})

Source: minds-ui/apps/api-service/types/tenant.ts:47.

TenantConfig

export type TenantConfig = z.infer<typeof TenantConfig>

Source: minds-ui/apps/api-service/types/tenant.ts:53.

TenantMetadata

TenantMetadata = z.object({
  instance_id: z.string(), // K8s deployment name
  k8s_namespace: z.string(),
  storage_namespace: z.string(), // S3 bucket path
  jwt_secret_version: z.number().int().default(1),
  last_health_check: z.string().datetime().optional(),
  provisioning_duration_ms: z.number().int().optional(),
})

Source: minds-ui/apps/api-service/types/tenant.ts:59.

TenantMetadata

export type TenantMetadata = z.infer<typeof TenantMetadata>

Source: minds-ui/apps/api-service/types/tenant.ts:68.

TenantStats

TenantStats = z.object({
  storage_used_gb: z.number(),
  requests_total: z.number().int(),
  uptime_percent: z.number().min(0).max(100),
})

Source: minds-ui/apps/api-service/types/tenant.ts:74.

TenantStats

export type TenantStats = z.infer<typeof TenantStats>

Source: minds-ui/apps/api-service/types/tenant.ts:80.

ProductType

ProductType = z.enum(['legacy', 'memory_cloud'])

Source: minds-ui/apps/api-service/types/tenant.ts:86.

ProductType

export type ProductType = z.infer<typeof ProductType>

Source: minds-ui/apps/api-service/types/tenant.ts:88.

Tenant

Tenant = z.object({
  id: z.string(),
  org_id: z.string(), // L1fe Console organization ID
  project_id: z.string().optional(),
  name: z.string().min(1).max(100),
  slug: z.string().regex(/^[a-z0-9-]+$/), // Subdomain-safe slug
  endpoint: z.string().url(), // https://{slug}.akasha.ooo
  plan: TenantPlan,
  plan_memory_limit: z.number().int().min(0).nullable().optional(),
  plan_retrieval_quota: z.number().int().min(0).nullable().optional(),
  plan_graph_enabled: z.boolean().default(false),
  plan_node_partitioning: z.boolean().default(false),
  product_type: ProductType.default('legacy'),
  region: TenantRegion,
  status: TenantStatus,
  config: TenantConfig.optional(),
  metadata: TenantMetadata,
  stats: TenantStats.optional(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
  deleted_at: z.string().datetime().optional(),
})

Source: minds-ui/apps/api-service/types/tenant.ts:90.

Tenant

export type Tenant = z.infer<typeof Tenant>

Source: minds-ui/apps/api-service/types/tenant.ts:113.

CreateTenantRequest

CreateTenantRequest = z.object({
  org_id: z.string(),
  project_id: z.string().optional(),
  name: z.string().min(1).max(100),
  slug: z
    .string()
    .regex(/^[a-z0-9-]+$/)
    .min(3)
    .max(63)
    .optional(), // Auto-generated if omitted
  plan: TenantPlan,
  product_type: ProductType.default('legacy').optional(),
  region: TenantRegion.optional().default('us-east-1'),
  config: TenantConfig.optional(),

  // Modular Services Extension (PRD §5.1)
  service_type: z
    .string()
    .optional(), // Specific service type (e.g., "kv", "graph", "memory_suite")
  bundle: z
    .string()
    .optional(), // Bundle name (e.g., "full_akasha", "kv_graph", "memory_suite")
  service_config: z
    .record(z.unknown())
    .optional(), // Service-specific configuration overrides
})

Source: minds-ui/apps/api-service/types/tenant.ts:124.

CreateTenantRequest

export type CreateTenantRequest = z.infer<typeof CreateTenantRequest>

Source: minds-ui/apps/api-service/types/tenant.ts:151.

CreateTenantRequestInput

export type CreateTenantRequestInput = z.input<typeof CreateTenantRequest>

Source: minds-ui/apps/api-service/types/tenant.ts:152.

CreateTenantResponse

CreateTenantResponse = z.object({
  tenant_id: z.string(),
  slug: z.string(),
  endpoint: z.string().url(),
  status: z.literal('provisioning'),
  created_at: z.string().datetime(),
  estimated_ready_in: z.number().int(), // seconds
})

Source: minds-ui/apps/api-service/types/tenant.ts:158.

CreateTenantResponse

export type CreateTenantResponse = z.infer<typeof CreateTenantResponse>

Source: minds-ui/apps/api-service/types/tenant.ts:167.

UpdateTenantRequest

UpdateTenantRequest = z.object({
  name: z.string().min(1).max(100).optional(),
  plan: TenantPlan.optional(),
  product_type: ProductType.optional(),
  config: TenantConfig.optional(),
  plan_memory_limit: z.number().int().min(0).nullable().optional(),
  plan_retrieval_quota: z.number().int().min(0).nullable().optional(),
  plan_graph_enabled: z.boolean().optional(),
  plan_node_partitioning: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/tenant.ts:173.

UpdateTenantRequest

export type UpdateTenantRequest = z.infer<typeof UpdateTenantRequest>

Source: minds-ui/apps/api-service/types/tenant.ts:184.

ListTenantsQuery

ListTenantsQuery = z.object({
  org_id: z.string().optional(),
  status: TenantStatus.optional(),
  limit: z.coerce.number().int().min(1).max(100).default(20),
  offset: z.coerce.number().int().min(0).default(0),
})

Source: minds-ui/apps/api-service/types/tenant.ts:190.

ListTenantsQuery

export type ListTenantsQuery = z.infer<typeof ListTenantsQuery>

Source: minds-ui/apps/api-service/types/tenant.ts:197.

ListTenantsQueryInput

export type ListTenantsQueryInput = z.input<typeof ListTenantsQuery>

Source: minds-ui/apps/api-service/types/tenant.ts:198.

ListTenantsResponse

ListTenantsResponse = z.object({
  tenants: z.array(
    Tenant.pick({
      id: true,
      org_id: true,
      project_id: true,
      name: true,
      slug: true,
      endpoint: true,
      plan: true,
      product_type: true,
      plan_memory_limit: true,
      plan_retrieval_quota: true,
      plan_graph_enabled: true,
      plan_node_partitioning: true,
      status: true,
      created_at: true,
    }),
  ),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/tenant.ts:204.

ListTenantsResponse

export type ListTenantsResponse = z.infer<typeof ListTenantsResponse>

Source: minds-ui/apps/api-service/types/tenant.ts:230.

TenantHealthCheck

TenantHealthCheck = z.object({
  instance_reachable: z.boolean(),
  database_connected: z.boolean(),
  storage_accessible: z.boolean(),
  dns_resolved: z.boolean(),
  tls_valid: z.boolean(),
  last_health_check: z.string().datetime().optional(),
})

Source: minds-ui/apps/api-service/types/tenant.ts:236.

TenantHealthCheck

export type TenantHealthCheck = z.infer<typeof TenantHealthCheck>

Source: minds-ui/apps/api-service/types/tenant.ts:245.

TenantStatusResponse

TenantStatusResponse = z.object({
  id: z.string(),
  status: TenantStatus,
  health: TenantHealthCheck,
  current_operation: z
    .object({
      type: z.enum(['provisioning', 'scaling', 'backup', 'restore']),
      started_at: z.string().datetime(),
      progress_percent: z.number().min(0).max(100),
    })
    .optional(),
})

Source: minds-ui/apps/api-service/types/tenant.ts:251.

TenantStatusResponse

export type TenantStatusResponse = z.infer<typeof TenantStatusResponse>

Source: minds-ui/apps/api-service/types/tenant.ts:264.

minds-ui/apps/api-service/types/usage.ts

UsageMetric

UsageMetric = z.object({
  current: z.number(),
  included: z.number(),
  overage: z.number(),
  cost: z.number(), // USD
})

Source: minds-ui/apps/api-service/types/usage.ts:8.

UsageMetric

export type UsageMetric = z.infer<typeof UsageMetric>

Source: minds-ui/apps/api-service/types/usage.ts:15.

BillingPeriod

BillingPeriod = z.object({
  start: z.string().datetime(),
  end: z.string().datetime(),
  days_elapsed: z.number().int(),
})

Source: minds-ui/apps/api-service/types/usage.ts:20.

BillingPeriod

export type BillingPeriod = z.infer<typeof BillingPeriod>

Source: minds-ui/apps/api-service/types/usage.ts:26.

UsageResponse

UsageResponse = z.object({
  tenant_id: z.string(),
  plan: TenantPlan,
  billing_period: BillingPeriod,
  usage: z.object({
    storage_gb: UsageMetric,
    requests: UsageMetric,
    hrm_inferences: UsageMetric,
    vector_searches: z.object({
      total: z.number().int(),
      cost: z.number(),
    }),
    graph_queries: z.object({
      total: z.number().int(),
      cost: z.number(),
    }),
  }),
  estimated_cost: z.object({
    base: z.number(), // Plan base cost
    usage: z.number(), // Overage cost
    total: z.number(), // Total estimated
    currency: z.literal('USD'),
  }),
})

Source: minds-ui/apps/api-service/types/usage.ts:32.

UsageResponse

export type UsageResponse = z.infer<typeof UsageResponse>

Source: minds-ui/apps/api-service/types/usage.ts:57.

UsageHistoryMetric

UsageHistoryMetric = z.enum([
  'storage',
  'requests',
  'hrm_inferences',
  'vector_searches',
  'graph_queries',
])

Source: minds-ui/apps/api-service/types/usage.ts:62.

UsageHistoryMetric

export type UsageHistoryMetric = z.infer<typeof UsageHistoryMetric>

Source: minds-ui/apps/api-service/types/usage.ts:70.

UsageHistoryGranularity

UsageHistoryGranularity = z.enum(['hour', 'day', 'week', 'month'])

Source: minds-ui/apps/api-service/types/usage.ts:75.

UsageHistoryGranularity

export type UsageHistoryGranularity = z.infer<typeof UsageHistoryGranularity>

Source: minds-ui/apps/api-service/types/usage.ts:77.

UsageHistoryQuery

UsageHistoryQuery = z.object({
  metric: UsageHistoryMetric,
  granularity: UsageHistoryGranularity,
  start_date: z.string().datetime(),
  end_date: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/usage.ts:83.

UsageHistoryQuery

export type UsageHistoryQuery = z.infer<typeof UsageHistoryQuery>

Source: minds-ui/apps/api-service/types/usage.ts:90.

UsageHistoryResponse

UsageHistoryResponse = z.object({
  tenant_id: z.string(),
  metric: UsageHistoryMetric,
  granularity: UsageHistoryGranularity,
  data_points: z.array(
    z.object({
      timestamp: z.string().datetime(),
      value: z.number(),
    }),
  ),
})

Source: minds-ui/apps/api-service/types/usage.ts:96.

UsageHistoryResponse

export type UsageHistoryResponse = z.infer<typeof UsageHistoryResponse>

Source: minds-ui/apps/api-service/types/usage.ts:108.

InvoiceLineItem

InvoiceLineItem = z.object({
  description: z.string(),
  quantity: z.number(),
  unit_price: z.number(),
  amount: z.number(),
})

Source: minds-ui/apps/api-service/types/usage.ts:113.

InvoiceLineItem

export type InvoiceLineItem = z.infer<typeof InvoiceLineItem>

Source: minds-ui/apps/api-service/types/usage.ts:120.

InvoicePaymentMethod

InvoicePaymentMethod = z.object({
  type: z.literal('card'),
  last4: z.string(),
  brand: z.string(),
})

Source: minds-ui/apps/api-service/types/usage.ts:125.

InvoicePaymentMethod

export type InvoicePaymentMethod = z.infer<typeof InvoicePaymentMethod>

Source: minds-ui/apps/api-service/types/usage.ts:131.

InvoiceStatus

InvoiceStatus = z.enum(['draft', 'open', 'paid', 'void'])

Source: minds-ui/apps/api-service/types/usage.ts:136.

InvoiceStatus

export type InvoiceStatus = z.infer<typeof InvoiceStatus>

Source: minds-ui/apps/api-service/types/usage.ts:138.

Invoice

Invoice = z.object({
  id: z.string(),
  tenant_id: z.string(),
  period_start: z.string().datetime(),
  period_end: z.string().datetime(),
  subtotal: z.number(),
  tax: z.number(),
  total: z.number(),
  status: InvoiceStatus,
  due_date: z.string().datetime(),
  line_items: z.array(InvoiceLineItem),
  payment_method: InvoicePaymentMethod.optional(),
})

Source: minds-ui/apps/api-service/types/usage.ts:144.

Invoice

export type Invoice = z.infer<typeof Invoice>

Source: minds-ui/apps/api-service/types/usage.ts:158.

minds-ui/apps/api-service/types/user.ts

User

User = z.object({
  id: z.string(),
  email: z.string().email(),
  name: z.string().optional(),
  image: z.string().url().optional(),
  email_verified: z.boolean(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/user.ts:7.

User

export type User = z.infer<typeof User>

Source: minds-ui/apps/api-service/types/user.ts:17.

UserProfile

UserProfile = z.object({
  id: z.string(),
  email: z.string().email(),
  name: z.string().optional(),
  image: z.string().url().optional(),
  email_verified: z.boolean(),
  bio: z.string().max(500).optional(),
  website: z.string().url().optional(),
  location: z.string().max(100).optional(),
  timezone: z.string().optional(),
  preferences: z.object({
    theme: z.enum(['light', 'dark', 'system']).optional(),
    language: z.string().optional(),
    notifications: z.object({
      email: z.boolean().optional(),
      push: z.boolean().optional(),
      webhook: z.boolean().optional(),
    }).optional(),
  }).optional(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/user.ts:23.

UserProfile

export type UserProfile = z.infer<typeof UserProfile>

Source: minds-ui/apps/api-service/types/user.ts:46.

UpdateUserProfileRequest

UpdateUserProfileRequest = z.object({
  name: z.string().min(1).max(100).optional(),
  bio: z.string().max(500).optional(),
  website: z.string().url().optional(),
  location: z.string().max(100).optional(),
  timezone: z.string().optional(),
  preferences: z.object({
    theme: z.enum(['light', 'dark', 'system']).optional(),
    language: z.string().optional(),
    notifications: z.object({
      email: z.boolean().optional(),
      push: z.boolean().optional(),
      webhook: z.boolean().optional(),
    }).optional(),
  }).optional(),
})

Source: minds-ui/apps/api-service/types/user.ts:52.

UpdateUserProfileRequest

export type UpdateUserProfileRequest = z.infer<typeof UpdateUserProfileRequest>

Source: minds-ui/apps/api-service/types/user.ts:69.

UserStats

UserStats = z.object({
  total_organizations: z.number().int(),
  total_tenants: z.number().int(),
  total_api_keys: z.number().int(),
  total_requests: z.number().int(),
  last_active_at: z.string().datetime().nullable(),
})

Source: minds-ui/apps/api-service/types/user.ts:75.

UserStats

export type UserStats = z.infer<typeof UserStats>

Source: minds-ui/apps/api-service/types/user.ts:83.

GetUserStatsResponse

GetUserStatsResponse = z.object({
  user_id: z.string(),
  stats: UserStats,
  period: z.object({
    start: z.string().datetime(),
    end: z.string().datetime(),
  }),
})

Source: minds-ui/apps/api-service/types/user.ts:89.

GetUserStatsResponse

export type GetUserStatsResponse = z.infer<typeof GetUserStatsResponse>

Source: minds-ui/apps/api-service/types/user.ts:98.

UserSession

UserSession = z.object({
  id: z.string(),
  user_id: z.string(),
  expires_at: z.string().datetime(),
  created_at: z.string().datetime(),
  last_used_at: z.string().datetime().nullable(),
  ip_address: z.string().optional(),
  user_agent: z.string().optional(),
})

Source: minds-ui/apps/api-service/types/user.ts:104.

UserSession

export type UserSession = z.infer<typeof UserSession>

Source: minds-ui/apps/api-service/types/user.ts:114.

ListUserSessionsQuery

ListUserSessionsQuery = z.object({
  limit: z.coerce.number().int().min(1).max(100).default(20),
  offset: z.coerce.number().int().min(0).default(0),
  active: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/user.ts:120.

ListUserSessionsQuery

export type ListUserSessionsQuery = z.infer<typeof ListUserSessionsQuery>

Source: minds-ui/apps/api-service/types/user.ts:126.

ListUserSessionsResponse

ListUserSessionsResponse = z.object({
  sessions: z.array(UserSession),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/user.ts:132.

ListUserSessionsResponse

export type ListUserSessionsResponse = z.infer<typeof ListUserSessionsResponse>

Source: minds-ui/apps/api-service/types/user.ts:141.

RevokeUserSessionRequest

RevokeUserSessionRequest = z.object({
  session_id: z.string(),
})

Source: minds-ui/apps/api-service/types/user.ts:147.

RevokeUserSessionRequest

export type RevokeUserSessionRequest = z.infer<typeof RevokeUserSessionRequest>

Source: minds-ui/apps/api-service/types/user.ts:151.

UserActivity

UserActivity = z.object({
  id: z.string(),
  user_id: z.string(),
  action: z.string(),
  resource_type: z.string().optional(),
  resource_id: z.string().optional(),
  ip_address: z.string().optional(),
  user_agent: z.string().optional(),
  metadata: z.record(z.unknown()).optional(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/user.ts:157.

UserActivity

export type UserActivity = z.infer<typeof UserActivity>

Source: minds-ui/apps/api-service/types/user.ts:169.

ListUserActivitiesQuery

ListUserActivitiesQuery = z.object({
  limit: z.coerce.number().int().min(1).max(100).default(20),
  offset: z.coerce.number().int().min(0).default(0),
  action: z.string().optional(),
  resource_type: z.string().optional(),
  start_date: z.string().datetime().optional(),
  end_date: z.string().datetime().optional(),
})

Source: minds-ui/apps/api-service/types/user.ts:175.

ListUserActivitiesQuery

export type ListUserActivitiesQuery = z.infer<typeof ListUserActivitiesQuery>

Source: minds-ui/apps/api-service/types/user.ts:184.

ListUserActivitiesResponse

ListUserActivitiesResponse = z.object({
  activities: z.array(UserActivity),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/user.ts:190.

ListUserActivitiesResponse

export type ListUserActivitiesResponse = z.infer<typeof ListUserActivitiesResponse>

Source: minds-ui/apps/api-service/types/user.ts:199.

UserNotification

UserNotification = z.object({
  id: z.string(),
  user_id: z.string(),
  type: z.string(),
  enabled: z.boolean(),
  channels: z.array(z.enum(['email', 'push', 'webhook'])),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/user.ts:205.

UserNotification

export type UserNotification = z.infer<typeof UserNotification>

Source: minds-ui/apps/api-service/types/user.ts:215.

UpdateUserNotificationRequest

UpdateUserNotificationRequest = z.object({
  enabled: z.boolean().optional(),
  channels: z.array(z.enum(['email', 'push', 'webhook'])).optional(),
})

Source: minds-ui/apps/api-service/types/user.ts:221.

UpdateUserNotificationRequest

export type UpdateUserNotificationRequest = z.infer<typeof UpdateUserNotificationRequest>

Source: minds-ui/apps/api-service/types/user.ts:226.

ListUserNotificationsResponse

ListUserNotificationsResponse = z.object({
  notifications: z.array(UserNotification),
})

Source: minds-ui/apps/api-service/types/user.ts:232.

ListUserNotificationsResponse

export type ListUserNotificationsResponse = z.infer<typeof ListUserNotificationsResponse>

Source: minds-ui/apps/api-service/types/user.ts:236.

UserApiKey

UserApiKey = z.object({
  id: z.string(),
  tenant_id: z.string(),
  name: z.string(),
  description: z.string().optional(),
  permissions: z.array(z.string()),
  enabled: z.boolean(),
  expires_at: z.string().datetime().nullable(),
  last_used_at: z.string().datetime().nullable(),
  usage_count: z.number().int(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
  tenant: z.object({
    id: z.string(),
    name: z.string(),
    slug: z.string(),
    organization: z.object({
      id: z.string(),
      name: z.string(),
    }),
  }),
})

Source: minds-ui/apps/api-service/types/user.ts:242.

UserApiKey

export type UserApiKey = z.infer<typeof UserApiKey>

Source: minds-ui/apps/api-service/types/user.ts:265.

ListUserApiKeysQuery

ListUserApiKeysQuery = z.object({
  limit: z.coerce.number().int().min(1).max(100).default(20),
  offset: z.coerce.number().int().min(0).default(0),
  tenant_id: z.string().optional(),
  enabled: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/user.ts:271.

ListUserApiKeysQuery

export type ListUserApiKeysQuery = z.infer<typeof ListUserApiKeysQuery>

Source: minds-ui/apps/api-service/types/user.ts:278.

ListUserApiKeysResponse

ListUserApiKeysResponse = z.object({
  api_keys: z.array(UserApiKey),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/user.ts:284.

ListUserApiKeysResponse

export type ListUserApiKeysResponse = z.infer<typeof ListUserApiKeysResponse>

Source: minds-ui/apps/api-service/types/user.ts:293.

UserOrganizationMembership

UserOrganizationMembership = z.object({
  id: z.string(),
  organization_id: z.string(),
  user_id: z.string(),
  role: z.string(),
  active: z.boolean(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
  organization: z.object({
    id: z.string(),
    name: z.string(),
    slug: z.string(),
  }),
})

Source: minds-ui/apps/api-service/types/user.ts:299.

UserOrganizationMembership

export type UserOrganizationMembership = z.infer<typeof UserOrganizationMembership>

Source: minds-ui/apps/api-service/types/user.ts:314.

ListUserOrganizationMembershipsResponse

ListUserOrganizationMembershipsResponse = z.object({
  memberships: z.array(UserOrganizationMembership),
})

Source: minds-ui/apps/api-service/types/user.ts:320.

ListUserOrganizationMembershipsResponse

export type ListUserOrganizationMembershipsResponse = z.infer<typeof ListUserOrganizationMembershipsResponse>

Source: minds-ui/apps/api-service/types/user.ts:324.

minds-ui/apps/api-service/types/webhook.ts

WebhookEventType

WebhookEventType = z.enum([
  'instance.created',
  'instance.ready',
  'instance.scaling',
  'instance.suspended',
  'instance.deleted',
  'backup.started',
  'backup.completed',
  'backup.failed',
  'usage.threshold_exceeded',
  'billing.invoice_created',
  'billing.payment_failed',
])

Source: minds-ui/apps/api-service/types/webhook.ts:7.

WebhookEventType

export type WebhookEventType = z.infer<typeof WebhookEventType>

Source: minds-ui/apps/api-service/types/webhook.ts:21.

Webhook

Webhook = z.object({
  id: z.string(),
  tenant_id: z.string(),
  url: z.string().url(),
  events: z.array(WebhookEventType),
  secret: z.string(),
  enabled: z.boolean(),
  created_at: z.string().datetime(),
  updated_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/webhook.ts:27.

Webhook

export type Webhook = z.infer<typeof Webhook>

Source: minds-ui/apps/api-service/types/webhook.ts:38.

CreateWebhookRequest

CreateWebhookRequest = z.object({
  url: z.string().url(),
  events: z.array(WebhookEventType).min(1),
  secret: z.string().optional(), // Auto-generated if not provided
})

Source: minds-ui/apps/api-service/types/webhook.ts:44.

CreateWebhookRequest

export type CreateWebhookRequest = z.infer<typeof CreateWebhookRequest>

Source: minds-ui/apps/api-service/types/webhook.ts:50.

CreateWebhookResponse

CreateWebhookResponse = z.object({
  webhook_id: z.string(),
  url: z.string().url(),
  secret: z.string(),
  events: z.array(WebhookEventType),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/webhook.ts:56.

CreateWebhookResponse

export type CreateWebhookResponse = z.infer<typeof CreateWebhookResponse>

Source: minds-ui/apps/api-service/types/webhook.ts:64.

UpdateWebhookRequest

UpdateWebhookRequest = z.object({
  url: z.string().url().optional(),
  events: z.array(WebhookEventType).optional(),
  enabled: z.boolean().optional(),
})

Source: minds-ui/apps/api-service/types/webhook.ts:70.

UpdateWebhookRequest

export type UpdateWebhookRequest = z.infer<typeof UpdateWebhookRequest>

Source: minds-ui/apps/api-service/types/webhook.ts:76.

ListWebhooksResponse

ListWebhooksResponse = z.object({
  webhooks: z.array(Webhook),
})

Source: minds-ui/apps/api-service/types/webhook.ts:82.

ListWebhooksResponse

export type ListWebhooksResponse = z.infer<typeof ListWebhooksResponse>

Source: minds-ui/apps/api-service/types/webhook.ts:86.

WebhookDelivery

WebhookDelivery = z.object({
  id: z.string(),
  webhook_id: z.string(),
  event_type: WebhookEventType,
  payload: z.record(z.unknown()),
  response_status: z.number().int().nullable(),
  response_body: z.string().nullable(),
  delivered_at: z.string().datetime().nullable(),
  failed_at: z.string().datetime().nullable(),
  retry_count: z.number().int(),
  created_at: z.string().datetime(),
})

Source: minds-ui/apps/api-service/types/webhook.ts:92.

WebhookDelivery

export type WebhookDelivery = z.infer<typeof WebhookDelivery>

Source: minds-ui/apps/api-service/types/webhook.ts:105.

ListWebhookDeliveriesQuery

ListWebhookDeliveriesQuery = z.object({
  limit: z.coerce.number().int().min(1).max(100).default(20),
  offset: z.coerce.number().int().min(0).default(0),
  event_type: WebhookEventType.optional(),
  status: z.enum(['delivered', 'failed', 'pending']).optional(),
})

Source: minds-ui/apps/api-service/types/webhook.ts:111.

ListWebhookDeliveriesQuery

export type ListWebhookDeliveriesQuery = z.infer<typeof ListWebhookDeliveriesQuery>

Source: minds-ui/apps/api-service/types/webhook.ts:118.

ListWebhookDeliveriesResponse

ListWebhookDeliveriesResponse = z.object({
  deliveries: z.array(WebhookDelivery),
  pagination: z.object({
    total: z.number().int(),
    limit: z.number().int(),
    offset: z.number().int(),
  }),
})

Source: minds-ui/apps/api-service/types/webhook.ts:124.

ListWebhookDeliveriesResponse

export type ListWebhookDeliveriesResponse = z.infer<typeof ListWebhookDeliveriesResponse>

Source: minds-ui/apps/api-service/types/webhook.ts:133.

WebhookEventPayload

WebhookEventPayload = z.object({
  id: z.string(),
  type: WebhookEventType,
  tenant_id: z.string(),
  timestamp: z.string().datetime(),
  data: z.record(z.unknown()),
  metadata: z.record(z.unknown()).optional(),
})

Source: minds-ui/apps/api-service/types/webhook.ts:139.

WebhookEventPayload

export type WebhookEventPayload = z.infer<typeof WebhookEventPayload>

Source: minds-ui/apps/api-service/types/webhook.ts:148.

WebhookSignature

WebhookSignature = z.object({
  signature: z.string(),
  timestamp: z.string(),
  payload: z.string(),
})

Source: minds-ui/apps/api-service/types/webhook.ts:154.

WebhookSignature

export type WebhookSignature = z.infer<typeof WebhookSignature>

Source: minds-ui/apps/api-service/types/webhook.ts:160.

WebhookTestRequest

WebhookTestRequest = z.object({
  event_type: WebhookEventType.optional(),
  payload: z.record(z.unknown()).optional(),
})

Source: minds-ui/apps/api-service/types/webhook.ts:166.

WebhookTestRequest

export type WebhookTestRequest = z.infer<typeof WebhookTestRequest>

Source: minds-ui/apps/api-service/types/webhook.ts:171.

WebhookTestResponse

WebhookTestResponse = z.object({
  delivery_id: z.string(),
  status: z.enum(['delivered', 'failed']),
  response_status: z.number().int().nullable(),
  response_body: z.string().nullable(),
  delivered_at: z.string().datetime().nullable(),
})

Source: minds-ui/apps/api-service/types/webhook.ts:177.

WebhookTestResponse

export type WebhookTestResponse = z.infer<typeof WebhookTestResponse>

Source: minds-ui/apps/api-service/types/webhook.ts:185.

WebhookStats

WebhookStats = z.object({
  total_deliveries: z.number().int(),
  successful_deliveries: z.number().int(),
  failed_deliveries: z.number().int(),
  success_rate: z.number().min(0).max(100),
  average_response_time_ms: z.number().nullable(),
  last_delivery_at: z.string().datetime().nullable(),
})

Source: minds-ui/apps/api-service/types/webhook.ts:191.

WebhookStats

export type WebhookStats = z.infer<typeof WebhookStats>

Source: minds-ui/apps/api-service/types/webhook.ts:200.

GetWebhookStatsResponse

GetWebhookStatsResponse = z.object({
  webhook_id: z.string(),
  stats: WebhookStats,
  period: z.object({
    start: z.string().datetime(),
    end: z.string().datetime(),
  }),
})

Source: minds-ui/apps/api-service/types/webhook.ts:206.

GetWebhookStatsResponse

export type GetWebhookStatsResponse = z.infer<typeof GetWebhookStatsResponse>

Source: minds-ui/apps/api-service/types/webhook.ts:215.

minds-ui/apps/app/lib/provisioning/types.ts

InstanceMode

export type InstanceMode = 'shared' | 'dedicated';

Source: minds-ui/apps/app/lib/provisioning/types.ts:1.

SubscriptionState

export type SubscriptionState = 'active' | 'trialing' | 'past_due' | 'canceled' | 'missing';

Source: minds-ui/apps/app/lib/provisioning/types.ts:2.

InstanceStatus

export type InstanceStatus = 'provisioning' | 'active' | 'reconcile_required' | 'deleting' | 'deleted';

Source: minds-ui/apps/app/lib/provisioning/types.ts:3.

ServiceName

export type ServiceName = 'kv' | 'graph' | 'vector' | 'analytics' | 'memory' | 'ml';

Source: minds-ui/apps/app/lib/provisioning/types.ts:4.

PlanTier

export type PlanTier = 'free' | 'starter' | 'pro' | 'enterprise';

Source: minds-ui/apps/app/lib/provisioning/types.ts:5.

ProvisioningProvider

export type ProvisioningProvider = 'render' | 'ensure' | 'firecracker';

Source: minds-ui/apps/app/lib/provisioning/types.ts:6.

DomainKind

export type DomainKind = 'minds_subdomain' | 'customer_hostname';

Source: minds-ui/apps/app/lib/provisioning/types.ts:7.

ModuleConfig

export type ModuleConfig = Record<ServiceName, boolean>;

Source: minds-ui/apps/app/lib/provisioning/types.ts:9.

AkashaRuntimeSecrets

export type AkashaRuntimeSecrets = Record<string, string> & {
  AKASHA_ADMIN_TOKEN: string;
  AKASHA_CAPABILITY_PUBLIC_KEY: string;
};

Source: minds-ui/apps/app/lib/provisioning/types.ts:10.

SharedPoolRecord

export interface SharedPoolRecord {
  region: string;
  pool: string;
  currentTenants: number;
  maxTenants: number;
  renderServiceId?: string;
  renderServiceName?: string;
}

Source: minds-ui/apps/app/lib/provisioning/types.ts:15.

SharedPoolSelection

export interface SharedPoolSelection {
  region: string;
  pool: string;
  currentTenants: number;
  maxTenants: number;
  utilization: number;
  threshold: number;
  shouldScaleOut: boolean;
  source: 'existing_pool' | 'new_pool';
}

Source: minds-ui/apps/app/lib/provisioning/types.ts:24.

ProvisioningConfig

export interface ProvisioningConfig {
  renderOwnerId: string;
  image: string;
  baseDomain: string;
  sharedPool: string;
  sharedPools?: SharedPoolRecord[];
  sharedScaleThreshold?: number;
  sharedPoolMaxTenants?: number;
  renderApiBaseUrl?: string;
  renderPlan?: string;
  renderRegistryCredentialId?: string;
  cloudflareApiBaseUrl?: string;
  cloudflareZoneId?: string;
  cloudflareProxied?: boolean;
  cloudflareSaasEnabled?: boolean;
  volumeSizeGb?: number;
  cpuKind?: 'shared' | 'performance';
  cpus?: number;
  memoryMb?: number;
  capabilityIssuer?: string;
  capabilityAudience?: string;
}

Source: minds-ui/apps/app/lib/provisioning/types.ts:35.

CreateProvisioningPlanInput

export interface CreateProvisioningPlanInput {
  organizationId: string;
  name: string;
  mode: InstanceMode;
  region: string;
  plan: PlanTier | string;
  services: ServiceName[];
  hotLoading: boolean;
  deploymentSlug: string;
  customHostnames?: string[];
  config: ProvisioningConfig;
}

Source: minds-ui/apps/app/lib/provisioning/types.ts:58.

ProvisioningDomainPlan

export interface ProvisioningDomainPlan {
  hostname: string;
  dnsTarget: string;
  kind: DomainKind;
}

Source: minds-ui/apps/app/lib/provisioning/types.ts:71.

ProvisioningPlan

export interface ProvisioningPlan {
  id: string;
  organizationId: string;
  mode: InstanceMode;
  plan: string;
  region: string;
  deploymentSlug: string;
  serviceNames: ServiceName[];
  provider: ProvisioningProvider;
  renderOwnerId: string;
  renderServiceName: string;
  endpoint: string;
  providerEndpoint: string;
  image: string;
  sharedPool?: SharedPoolSelection;
  disk: {
    name: string;
    sizeGb: number;
    mountPath: string;
  };
  service: {
    name: string;
    region: string;
    plan: string;
    config: {
      image: string;
      env: Record<string, string>;
      labels: Record<string, string>;
      healthCheckPath: string;
      numInstances: number;
    };
  };
  domains: ProvisioningDomainPlan[];
  primaryDomain: ProvisioningDomainPlan;
}

Source: minds-ui/apps/app/lib/provisioning/types.ts:77.

GardenEntitlements

export interface GardenEntitlements {
  organizationId: string;
  subscriptionState: SubscriptionState;
  allowedModes: InstanceMode[];
  maxSharedInstances: number;
  maxDedicatedInstances: number;
  currentSharedInstances: number;
  currentDedicatedInstances: number;
}

Source: minds-ui/apps/app/lib/provisioning/types.ts:113.

ProvisionedInstance

export interface ProvisionedInstance {
  id: string;
  organizationId: string;
  mode: InstanceMode;
  plan: string;
  region: string;
  deploymentSlug?: string;
  provider: ProvisioningProvider;
  endpoint: string;
  providerEndpoint: string;
  renderServiceId: string;
  renderServiceName: string;
  renderDeployId?: string;
  resourceIds: string[];
  diskIds: string[];
  hostnames: string[];
  image: string;
  status: InstanceStatus;
}

Source: minds-ui/apps/app/lib/provisioning/types.ts:123.

minds-ui/apps/app/lib/control-plane/types.ts

ServiceStatus

export type ServiceStatus = 'provisioning' | 'active' | 'scaling' | 'suspended' | 'failed' | 'deleted';

Source: minds-ui/apps/app/lib/control-plane/types.ts:6.

ServiceTypeName

export type ServiceTypeName = 'kv' | 'graph' | 'vector' | 'memory' | 'analytics' | 'queue' | 'backups';

Source: minds-ui/apps/app/lib/control-plane/types.ts:8.

PlanTier

export type PlanTier = 'free' | 'starter' | 'pro' | 'enterprise';

Source: minds-ui/apps/app/lib/control-plane/types.ts:10.

ProductType

export type ProductType = 'legacy' | 'memory_cloud';

Source: minds-ui/apps/app/lib/control-plane/types.ts:11.

TenantStatus

export type TenantStatus =
  | 'provisioning'
  | 'active'
  | 'scaling'
  | 'suspended'
  | 'failed'
  | 'deleted';

Source: minds-ui/apps/app/lib/control-plane/types.ts:13.

ControlPlaneService

export interface ControlPlaneService {
  id: string;
  service_type_id: string;
  tenant_id: string;
  name: string;
  slug: string;
  endpoint: string;
  plan: PlanTier;
  status: ServiceStatus;
  config: Record<string, unknown>;
  region: string;
  metadata: {
    created_by: string;
    service_type_name: ServiceTypeName;
    [key: string]: unknown;
  };
  created_at: string;
  updated_at: string;
}

Source: minds-ui/apps/app/lib/control-plane/types.ts:24.

ControlPlaneTenant

export interface ControlPlaneTenant {
  id: string;
  org_id: string;
  project_id?: string | null;
  name: string;
  slug: string;
  endpoint?: string;
  plan?: PlanTier;
  product_type?: ProductType;
  plan_memory_limit?: number | null;
  plan_retrieval_quota?: number | null;
  plan_graph_enabled?: boolean;
  plan_node_partitioning?: boolean;
  region?: string | null;
  preferred_region?: string | null;
  failover_region?: string | null;
  status?: TenantStatus;
  metadata?: Record<string, unknown>;
  created_at: string;
  updated_at: string;
}

Source: minds-ui/apps/app/lib/control-plane/types.ts:47.

TenantServiceGroup

export interface TenantServiceGroup {
  tenant: ControlPlaneTenant;
  services: ControlPlaneService[];
}

Source: minds-ui/apps/app/lib/control-plane/types.ts:69.

ListServicesResponse

export interface ListServicesResponse {
  services: ControlPlaneService[];
  pagination: {
    total: number;
    limit: number;
    offset: number;
  };
}

Source: minds-ui/apps/app/lib/control-plane/types.ts:77.

ListTenantsResponse

export interface ListTenantsResponse {
  tenants: ControlPlaneTenant[];
  pagination: {
    total: number;
    limit: number;
    offset: number;
  };
}

Source: minds-ui/apps/app/lib/control-plane/types.ts:89.

minds-ui/apps/app/lib/chat/operator-context.ts

BuildOperatorContextInput

export type BuildOperatorContextInput = {
  accessToken?: string;
  tokenOrgId?: string;
  tokenTenantId?: string;
  activeTenantId?: string;
  activeServiceId?: string;
  userName?: string | null;
  userEmail?: string | null;
};

Source: minds-ui/apps/app/lib/chat/operator-context.ts:68.

On this page