/home/techb158/trello.abdallabala.com
Edit: /home/techb158/trello.abdallabala.com/openapi.yaml (3470B)
openapi: 3.0.3
info:
title: COSMIC AI-Risk Trello Power-Up API
version: 0.2.0
description: REST API for scoring and summarizing AI project risks in Trello.
servers:
- url: http://localhost:3000
paths:
/config.js:
get:
summary: Runtime browser configuration for Trello Power-Up iframes
responses:
'200':
description: JavaScript assigning window.COSMIC_* configuration values
/api/health:
get:
summary: Health check
responses:
'200':
description: Service status
/api/taxonomy:
get:
summary: Reference taxonomy
responses:
'200':
description: Lifecycle phases, typologies, dimensions, and gate criteria
/api/risks/score:
post:
summary: Score a risk assessment without saving it
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RiskAssessmentInput'
responses:
'200':
description: Scored risk assessment
/api/boards/{boardId}/cards/{cardId}/assessments:
post:
summary: Save a card-level assessment
parameters:
- name: boardId
in: path
required: true
schema: { type: string }
- name: cardId
in: path
required: true
schema: { type: string }
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RiskAssessmentInput'
responses:
'201':
description: Saved assessment
/api/boards/{boardId}/summary:
get:
summary: Board risk summary
parameters:
- name: boardId
in: path
required: true
schema: { type: string }
responses:
'200':
description: Board-level risk summary
components:
schemas:
RiskAssessmentInput:
type: object
properties:
projectTypology:
type: string
enum: [incremental, disruptive, applied_research, ai_enabler, citizen_led]
lifecyclePhase:
type: string
enum: [needs_analysis, data_preparation, design, model_development, testing_evaluation, deployment_monitoring]
measurementMaturity:
type: string
enum: [ad_hoc, defined, measured, controlled]
approvalState:
type: string
enum: [draft, approved, accepted, rejected]
metrics:
type: object
properties:
modelPerformanceScore: { type: number, minimum: 0, maximum: 100 }
dataReadinessScore: { type: number, minimum: 0, maximum: 100 }
ethicalReviewCompleted: { type: boolean }
legalReviewCompleted: { type: boolean }
risks:
type: array
items:
type: object
properties:
title: { type: string }
dimension: { type: string, enum: [organizational, technical, human] }
category: { type: string, enum: [strategic_organizational, technical, legal_ethical] }
probability: { type: number, minimum: 1, maximum: 5 }
impact: { type: number, minimum: 1, maximum: 5 }
detectionDifficulty: { type: number, minimum: 1, maximum: 5 }
mitigationCompleteness: { type: number, minimum: 0, maximum: 100 }
mitigation: { type: string }