DoculaDevelopersDezvoltatori
API 0.8.0 · BuildVersiune produs 0.33.0
Documentation navigationNavigare documentație
GET/api/v1/analytics/decision-summary

Read one canonical current and previous business cohort decision contractCitește decizia canonică pentru cohortele curentă și anterioară

Read one canonical current and previous business cohort decision contract. Reads a bounded canonical view without mutation. No request body or required parameters apply. HTTP success: 200; documented failures: 401, 403, 405, 422, 500, 503. Preserve the documented UTC interval and temporal-resolution semantics.Citește decizia canonică pentru cohortele curentă și anterioară. Citește o vedere canonică limitată fără modificare. Nu declară body sau parametri obligatorii. Succes HTTP: 200; erori documentate: 401, 403, 405, 422, 500, 503. Păstrează intervalul UTC și semantica documentată de rezolvare temporală.

Roles: administrator, engineer, operator, auditor, business_viewerRoluri: administrator (administrator), engineer (inginer), operator (operator), auditor (auditor), business_viewer (cititor business)Host-local session requiredEste necesară sesiunea hostului

A session with must_change_password=true is forbidden regardless of role; only session read, password change, and logout remain authorized.O sesiune cu must_change_password=true este interzisă indiferent de rol; rămân autorizate doar citirea sesiunii, schimbarea parolei și deconectarea.

Required headers and parametersHeadere și parametri obligatorii

fromquery · optionalopțional
Inclusive UTC cohort boundary aligned to an exact hour. Omit with to for the latest completed-hour 30-day default.Limita UTC inclusivă pentru received_at; implicit este cu 30 de zile înainte de to.
2026-08-01T10:00:00Z
Complete parameter schemaSchema completă a parametrului
{
  "type": "string",
  "format": "date-time"
}
toquery · optionalopțional
Exclusive UTC cohort boundary aligned to an exact hour. Omit with from for the latest completed-hour 30-day default; the maximum explicit window is 366 days.Limita UTC exclusivă pentru received_at; implicit este momentul curent și permite un interval de cel mult 366 de zile.
2026-08-01T10:00:00Z
Complete parameter schemaSchema completă a parametrului
{
  "type": "string",
  "format": "date-time"
}

Lifecycle and conventionsCiclu și convenții

Open the related API conventionDeschide convenția API asociată

Request examplesExemple de cerere

Synthetic curl · copy onlycurl sintetic · numai pentru copiere
curl --request GET "$DOCULA_URL/api/v1/analytics/decision-summary" \
  --cookie "$COOKIE_JAR"

No request body applies. Use the documented method, path, headers, and parameters.Nu se aplică un body al cererii. Folosește metoda, calea, headerele și parametrii documentați.

Responses and failuresRăspunsuri și erori

200One transactionally consistent current and previous canonical decision contract with separately timestamped live operations.Un contract canonic al deciziei curente și precedente, consistent tranzacțional, cu operațiuni live marcate temporal separat.

Structured response bodyBody structurat al răspunsului

application/json

Structured response bodyBody structurat al răspunsului

Complete response schemaSchema completă a răspunsului
{
  "$ref": "#/components/schemas/AnalyticsDecisionSummary",
  "type": "object",
  "description": "One repeatable-read snapshot of adjacent equal submission cohorts. Queue and worker evidence is live and retains independent observation timestamps.",
  "additionalProperties": false,
  "required": [
    "observed_at",
    "current",
    "previous",
    "comparisons",
    "error_group_count",
    "error_groups_truncated",
    "error_groups",
    "percentile_method",
    "live_operations"
  ],
  "properties": {
    "observed_at": {
      "type": "string",
      "format": "date-time",
      "description": "UTC time at which the repeatable-read decision projection was observed."
    },
    "current": {
      "$ref": "#/components/schemas/AnalyticsDecisionPeriod",
      "type": "object",
      "description": "Business facts for submissions received in the half-open UTC cohort [from,to). Assessment is only the interval assessment of that cohort, never readiness or global health.",
      "additionalProperties": false,
      "required": [
        "from",
        "to",
        "submissions",
        "ingestion",
        "pending_ingestion_count",
        "processing",
        "generated_set_count",
        "storage",
        "affected_submissions",
        "assessment",
        "processing_load"
      ],
      "properties": {
        "from": {
          "type": "string",
          "format": "date-time"
        },
        "to": {
          "type": "string",
          "format": "date-time"
        },
        "submissions": {
          "$ref": "#/components/schemas/AnalyticsSubmissionSummary",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "count",
            "raw_bytes"
          ],
          "properties": {
            "count": {
              "type": "integer",
              "minimum": 0
            },
            "raw_bytes": {
              "type": "integer",
              "minimum": 0
            }
          }
        },
        "ingestion": {
          "$ref": "#/components/schemas/AnalyticsIngestionSummary",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "accepted_count",
            "rejected_count",
            "no_processing_count",
            "decision_latency"
          ],
          "properties": {
            "accepted_count": {
              "type": "integer",
              "minimum": 0
            },
            "rejected_count": {
              "type": "integer",
              "minimum": 0
            },
            "no_processing_count": {
              "type": "integer",
              "minimum": 0
            },
            "decision_latency": {
              "$ref": "#/components/schemas/AnalyticsDurationPercentiles",
              "type": "object",
              "additionalProperties": false,
              "required": [
                "sample_count",
                "p50_ms",
                "p95_ms"
              ],
              "properties": {
                "sample_count": {
                  "type": "integer",
                  "minimum": 0
                },
                "p50_ms": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 0
                },
                "p95_ms": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 0
                }
              }
            }
          }
        },
        "processing": {
          "$ref": "#/components/schemas/AnalyticsProcessingSummary",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "planned_count",
            "attempted_count",
            "completed_count",
            "failed_count",
            "derived_blocked_count",
            "duration",
            "peak_rss"
          ],
          "properties": {
            "planned_count": {
              "type": "integer",
              "minimum": 0
            },
            "attempted_count": {
              "type": "integer",
              "minimum": 0
            },
            "completed_count": {
              "type": "integer",
              "minimum": 0
            },
            "failed_count": {
              "type": "integer",
              "minimum": 0
            },
            "derived_blocked_count": {
              "type": "integer",
              "minimum": 0
            },
            "duration": {
              "$ref": "#/components/schemas/AnalyticsDurationPercentiles",
              "type": "object",
              "additionalProperties": false,
              "required": [
                "sample_count",
                "p50_ms",
                "p95_ms"
              ],
              "properties": {
                "sample_count": {
                  "type": "integer",
                  "minimum": 0
                },
                "p50_ms": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 0
                },
                "p95_ms": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 0
                }
              }
            },
            "peak_rss": {
              "$ref": "#/components/schemas/AnalyticsRSSPercentiles",
              "type": "object",
              "additionalProperties": false,
              "required": [
                "measured_count",
                "unavailable_count",
                "p50_bytes",
                "p95_bytes"
              ],
              "properties": {
                "measured_count": {
                  "type": "integer",
                  "minimum": 0
                },
                "unavailable_count": {
                  "type": "integer",
                  "minimum": 0
                },
                "p50_bytes": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 0
                },
                "p95_bytes": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 0
                }
              }
            }
          }
        },
        "generated_set_count": {
          "type": "integer",
          "minimum": 0
        },
        "storage": {
          "$ref": "#/components/schemas/AnalyticsStorageSummary",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "docx_count",
            "docx_bytes",
            "pdf_count",
            "pdf_bytes"
          ],
          "properties": {
            "docx_count": {
              "type": "integer",
              "minimum": 0
            },
            "docx_bytes": {
              "type": "integer",
              "minimum": 0
            },
            "pdf_count": {
              "type": "integer",
              "minimum": 0
            },
            "pdf_bytes": {
              "type": "integer",
              "minimum": 0
            }
          }
        },
        "pending_ingestion_count": {
          "type": "integer",
          "minimum": 0
        },
        "affected_submissions": {
          "$ref": "#/components/schemas/AnalyticsDecisionRate",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "numerator",
            "denominator",
            "value",
            "availability",
            "reason"
          ],
          "properties": {
            "numerator": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "denominator": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "value": {
              "type": [
                "number",
                "null"
              ],
              "minimum": 0,
              "maximum": 1
            },
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "unavailable"
              ]
            },
            "reason": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "oneOf": [
            {
              "properties": {
                "availability": {
                  "const": "available"
                },
                "value": {
                  "type": "number"
                },
                "reason": {
                  "type": "null"
                }
              }
            },
            {
              "properties": {
                "availability": {
                  "const": "unavailable"
                },
                "value": {
                  "type": "null"
                },
                "reason": {
                  "type": "string",
                  "const": "no_submissions"
                }
              }
            }
          ]
        },
        "assessment": {
          "type": "string",
          "enum": [
            "no_activity",
            "in_progress",
            "clear",
            "attention"
          ]
        },
        "processing_load": {
          "$ref": "#/components/schemas/AnalyticsDecisionProcessingLoad",
          "type": "object",
          "description": "Activity-time evidence grouped by the first canonical terminal timestamp; it is not a submission-receipt cohort or a capacity estimate.",
          "additionalProperties": false,
          "required": [
            "nominal_bucket_width_seconds",
            "buckets"
          ],
          "properties": {
            "nominal_bucket_width_seconds": {
              "type": "integer",
              "enum": [
                3600,
                21600,
                86400
              ]
            },
            "buckets": {
              "type": "array",
              "minItems": 1,
              "maxItems": 366,
              "items": {
                "$ref": "#/components/schemas/AnalyticsDecisionProcessingLoadBucket",
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "bucket_start",
                  "bucket_width_seconds",
                  "ingestion",
                  "transformation",
                  "docx_composition",
                  "pdf_generation"
                ],
                "properties": {
                  "bucket_start": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "bucket_width_seconds": {
                    "type": "integer",
                    "minimum": 3600,
                    "maximum": 86400,
                    "multipleOf": 3600
                  },
                  "ingestion": {
                    "$ref": "#/components/schemas/AnalyticsProcessingLoadPhase",
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "duration_ms",
                      "operation_count",
                      "average_duration_ms"
                    ],
                    "properties": {
                      "duration_ms": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "operation_count": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "average_duration_ms": {
                        "type": [
                          "integer",
                          "null"
                        ],
                        "minimum": 0,
                        "maximum": 9007199254740991
                      }
                    }
                  },
                  "transformation": {
                    "$ref": "#/components/schemas/AnalyticsProcessingLoadPhase",
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "duration_ms",
                      "operation_count",
                      "average_duration_ms"
                    ],
                    "properties": {
                      "duration_ms": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "operation_count": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "average_duration_ms": {
                        "type": [
                          "integer",
                          "null"
                        ],
                        "minimum": 0,
                        "maximum": 9007199254740991
                      }
                    }
                  },
                  "docx_composition": {
                    "$ref": "#/components/schemas/AnalyticsProcessingLoadPhase",
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "duration_ms",
                      "operation_count",
                      "average_duration_ms"
                    ],
                    "properties": {
                      "duration_ms": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "operation_count": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "average_duration_ms": {
                        "type": [
                          "integer",
                          "null"
                        ],
                        "minimum": 0,
                        "maximum": 9007199254740991
                      }
                    }
                  },
                  "pdf_generation": {
                    "$ref": "#/components/schemas/AnalyticsProcessingLoadPhase",
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "duration_ms",
                      "operation_count",
                      "average_duration_ms"
                    ],
                    "properties": {
                      "duration_ms": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "operation_count": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "average_duration_ms": {
                        "type": [
                          "integer",
                          "null"
                        ],
                        "minimum": 0,
                        "maximum": 9007199254740991
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "previous": {
      "$ref": "#/components/schemas/AnalyticsDecisionPeriod",
      "type": "object",
      "description": "Business facts for submissions received in the half-open UTC cohort [from,to). Assessment is only the interval assessment of that cohort, never readiness or global health.",
      "additionalProperties": false,
      "required": [
        "from",
        "to",
        "submissions",
        "ingestion",
        "pending_ingestion_count",
        "processing",
        "generated_set_count",
        "storage",
        "affected_submissions",
        "assessment",
        "processing_load"
      ],
      "properties": {
        "from": {
          "type": "string",
          "format": "date-time"
        },
        "to": {
          "type": "string",
          "format": "date-time"
        },
        "submissions": {
          "$ref": "#/components/schemas/AnalyticsSubmissionSummary",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "count",
            "raw_bytes"
          ],
          "properties": {
            "count": {
              "type": "integer",
              "minimum": 0
            },
            "raw_bytes": {
              "type": "integer",
              "minimum": 0
            }
          }
        },
        "ingestion": {
          "$ref": "#/components/schemas/AnalyticsIngestionSummary",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "accepted_count",
            "rejected_count",
            "no_processing_count",
            "decision_latency"
          ],
          "properties": {
            "accepted_count": {
              "type": "integer",
              "minimum": 0
            },
            "rejected_count": {
              "type": "integer",
              "minimum": 0
            },
            "no_processing_count": {
              "type": "integer",
              "minimum": 0
            },
            "decision_latency": {
              "$ref": "#/components/schemas/AnalyticsDurationPercentiles",
              "type": "object",
              "additionalProperties": false,
              "required": [
                "sample_count",
                "p50_ms",
                "p95_ms"
              ],
              "properties": {
                "sample_count": {
                  "type": "integer",
                  "minimum": 0
                },
                "p50_ms": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 0
                },
                "p95_ms": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 0
                }
              }
            }
          }
        },
        "processing": {
          "$ref": "#/components/schemas/AnalyticsProcessingSummary",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "planned_count",
            "attempted_count",
            "completed_count",
            "failed_count",
            "derived_blocked_count",
            "duration",
            "peak_rss"
          ],
          "properties": {
            "planned_count": {
              "type": "integer",
              "minimum": 0
            },
            "attempted_count": {
              "type": "integer",
              "minimum": 0
            },
            "completed_count": {
              "type": "integer",
              "minimum": 0
            },
            "failed_count": {
              "type": "integer",
              "minimum": 0
            },
            "derived_blocked_count": {
              "type": "integer",
              "minimum": 0
            },
            "duration": {
              "$ref": "#/components/schemas/AnalyticsDurationPercentiles",
              "type": "object",
              "additionalProperties": false,
              "required": [
                "sample_count",
                "p50_ms",
                "p95_ms"
              ],
              "properties": {
                "sample_count": {
                  "type": "integer",
                  "minimum": 0
                },
                "p50_ms": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 0
                },
                "p95_ms": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 0
                }
              }
            },
            "peak_rss": {
              "$ref": "#/components/schemas/AnalyticsRSSPercentiles",
              "type": "object",
              "additionalProperties": false,
              "required": [
                "measured_count",
                "unavailable_count",
                "p50_bytes",
                "p95_bytes"
              ],
              "properties": {
                "measured_count": {
                  "type": "integer",
                  "minimum": 0
                },
                "unavailable_count": {
                  "type": "integer",
                  "minimum": 0
                },
                "p50_bytes": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 0
                },
                "p95_bytes": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "minimum": 0
                }
              }
            }
          }
        },
        "generated_set_count": {
          "type": "integer",
          "minimum": 0
        },
        "storage": {
          "$ref": "#/components/schemas/AnalyticsStorageSummary",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "docx_count",
            "docx_bytes",
            "pdf_count",
            "pdf_bytes"
          ],
          "properties": {
            "docx_count": {
              "type": "integer",
              "minimum": 0
            },
            "docx_bytes": {
              "type": "integer",
              "minimum": 0
            },
            "pdf_count": {
              "type": "integer",
              "minimum": 0
            },
            "pdf_bytes": {
              "type": "integer",
              "minimum": 0
            }
          }
        },
        "pending_ingestion_count": {
          "type": "integer",
          "minimum": 0
        },
        "affected_submissions": {
          "$ref": "#/components/schemas/AnalyticsDecisionRate",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "numerator",
            "denominator",
            "value",
            "availability",
            "reason"
          ],
          "properties": {
            "numerator": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "denominator": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "value": {
              "type": [
                "number",
                "null"
              ],
              "minimum": 0,
              "maximum": 1
            },
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "unavailable"
              ]
            },
            "reason": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "oneOf": [
            {
              "properties": {
                "availability": {
                  "const": "available"
                },
                "value": {
                  "type": "number"
                },
                "reason": {
                  "type": "null"
                }
              }
            },
            {
              "properties": {
                "availability": {
                  "const": "unavailable"
                },
                "value": {
                  "type": "null"
                },
                "reason": {
                  "type": "string",
                  "const": "no_submissions"
                }
              }
            }
          ]
        },
        "assessment": {
          "type": "string",
          "enum": [
            "no_activity",
            "in_progress",
            "clear",
            "attention"
          ]
        },
        "processing_load": {
          "$ref": "#/components/schemas/AnalyticsDecisionProcessingLoad",
          "type": "object",
          "description": "Activity-time evidence grouped by the first canonical terminal timestamp; it is not a submission-receipt cohort or a capacity estimate.",
          "additionalProperties": false,
          "required": [
            "nominal_bucket_width_seconds",
            "buckets"
          ],
          "properties": {
            "nominal_bucket_width_seconds": {
              "type": "integer",
              "enum": [
                3600,
                21600,
                86400
              ]
            },
            "buckets": {
              "type": "array",
              "minItems": 1,
              "maxItems": 366,
              "items": {
                "$ref": "#/components/schemas/AnalyticsDecisionProcessingLoadBucket",
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "bucket_start",
                  "bucket_width_seconds",
                  "ingestion",
                  "transformation",
                  "docx_composition",
                  "pdf_generation"
                ],
                "properties": {
                  "bucket_start": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "bucket_width_seconds": {
                    "type": "integer",
                    "minimum": 3600,
                    "maximum": 86400,
                    "multipleOf": 3600
                  },
                  "ingestion": {
                    "$ref": "#/components/schemas/AnalyticsProcessingLoadPhase",
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "duration_ms",
                      "operation_count",
                      "average_duration_ms"
                    ],
                    "properties": {
                      "duration_ms": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "operation_count": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "average_duration_ms": {
                        "type": [
                          "integer",
                          "null"
                        ],
                        "minimum": 0,
                        "maximum": 9007199254740991
                      }
                    }
                  },
                  "transformation": {
                    "$ref": "#/components/schemas/AnalyticsProcessingLoadPhase",
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "duration_ms",
                      "operation_count",
                      "average_duration_ms"
                    ],
                    "properties": {
                      "duration_ms": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "operation_count": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "average_duration_ms": {
                        "type": [
                          "integer",
                          "null"
                        ],
                        "minimum": 0,
                        "maximum": 9007199254740991
                      }
                    }
                  },
                  "docx_composition": {
                    "$ref": "#/components/schemas/AnalyticsProcessingLoadPhase",
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "duration_ms",
                      "operation_count",
                      "average_duration_ms"
                    ],
                    "properties": {
                      "duration_ms": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "operation_count": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "average_duration_ms": {
                        "type": [
                          "integer",
                          "null"
                        ],
                        "minimum": 0,
                        "maximum": 9007199254740991
                      }
                    }
                  },
                  "pdf_generation": {
                    "$ref": "#/components/schemas/AnalyticsProcessingLoadPhase",
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "duration_ms",
                      "operation_count",
                      "average_duration_ms"
                    ],
                    "properties": {
                      "duration_ms": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "operation_count": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      },
                      "average_duration_ms": {
                        "type": [
                          "integer",
                          "null"
                        ],
                        "minimum": 0,
                        "maximum": 9007199254740991
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "comparisons": {
      "$ref": "#/components/schemas/AnalyticsDecisionComparisons",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "submissions",
        "processing_completion",
        "generated_sets",
        "affected_submissions"
      ],
      "properties": {
        "submissions": {
          "$ref": "#/components/schemas/AnalyticsComparisonState",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "availability",
            "reason"
          ],
          "properties": {
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "unavailable"
              ]
            },
            "reason": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "oneOf": [
            {
              "properties": {
                "availability": {
                  "const": "available"
                },
                "reason": {
                  "type": "null"
                }
              }
            },
            {
              "properties": {
                "availability": {
                  "const": "unavailable"
                },
                "reason": {
                  "type": "string",
                  "enum": [
                    "previous_count_zero",
                    "current_period_has_no_attempted_nodes",
                    "previous_period_has_no_attempted_nodes",
                    "current_period_has_no_submissions",
                    "previous_period_has_no_submissions"
                  ]
                }
              }
            }
          ]
        },
        "processing_completion": {
          "$ref": "#/components/schemas/AnalyticsComparisonState",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "availability",
            "reason"
          ],
          "properties": {
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "unavailable"
              ]
            },
            "reason": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "oneOf": [
            {
              "properties": {
                "availability": {
                  "const": "available"
                },
                "reason": {
                  "type": "null"
                }
              }
            },
            {
              "properties": {
                "availability": {
                  "const": "unavailable"
                },
                "reason": {
                  "type": "string",
                  "enum": [
                    "previous_count_zero",
                    "current_period_has_no_attempted_nodes",
                    "previous_period_has_no_attempted_nodes",
                    "current_period_has_no_submissions",
                    "previous_period_has_no_submissions"
                  ]
                }
              }
            }
          ]
        },
        "generated_sets": {
          "$ref": "#/components/schemas/AnalyticsComparisonState",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "availability",
            "reason"
          ],
          "properties": {
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "unavailable"
              ]
            },
            "reason": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "oneOf": [
            {
              "properties": {
                "availability": {
                  "const": "available"
                },
                "reason": {
                  "type": "null"
                }
              }
            },
            {
              "properties": {
                "availability": {
                  "const": "unavailable"
                },
                "reason": {
                  "type": "string",
                  "enum": [
                    "previous_count_zero",
                    "current_period_has_no_attempted_nodes",
                    "previous_period_has_no_attempted_nodes",
                    "current_period_has_no_submissions",
                    "previous_period_has_no_submissions"
                  ]
                }
              }
            }
          ]
        },
        "affected_submissions": {
          "$ref": "#/components/schemas/AnalyticsComparisonState",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "availability",
            "reason"
          ],
          "properties": {
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "unavailable"
              ]
            },
            "reason": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "oneOf": [
            {
              "properties": {
                "availability": {
                  "const": "available"
                },
                "reason": {
                  "type": "null"
                }
              }
            },
            {
              "properties": {
                "availability": {
                  "const": "unavailable"
                },
                "reason": {
                  "type": "string",
                  "enum": [
                    "previous_count_zero",
                    "current_period_has_no_attempted_nodes",
                    "previous_period_has_no_attempted_nodes",
                    "current_period_has_no_submissions",
                    "previous_period_has_no_submissions"
                  ]
                }
              }
            }
          ]
        }
      }
    },
    "error_group_count": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Exact distinct scope/code group count before the bounded response window."
    },
    "error_groups_truncated": {
      "type": "boolean",
      "description": "True exactly when error_group_count exceeds the returned error_groups length."
    },
    "error_groups": {
      "type": "array",
      "maxItems": 1000,
      "items": {
        "$ref": "#/components/schemas/AnalyticsComparedErrorGroup",
        "type": "object",
        "additionalProperties": false,
        "required": [
          "current",
          "previous",
          "comparison"
        ],
        "properties": {
          "current": {
            "$ref": "#/components/schemas/AnalyticsErrorGroupFact",
            "type": "object",
            "description": "One non-additive scope/code fact. Groups may overlap; never sum them to derive distinct affected submissions.",
            "additionalProperties": false,
            "required": [
              "scope",
              "code",
              "affected_submission_count",
              "affected_node_count",
              "submission_denominator",
              "rate"
            ],
            "properties": {
              "scope": {
                "type": "string",
                "enum": [
                  "ingestion_rejection",
                  "processing_failure",
                  "blocked_dependency"
                ]
              },
              "code": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128
              },
              "affected_submission_count": {
                "type": "integer",
                "minimum": 0
              },
              "affected_node_count": {
                "type": [
                  "integer",
                  "null"
                ],
                "minimum": 0
              },
              "submission_denominator": {
                "type": "integer",
                "minimum": 0
              },
              "rate": {
                "$ref": "#/components/schemas/AnalyticsDecisionRate",
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "numerator",
                  "denominator",
                  "value",
                  "availability",
                  "reason"
                ],
                "properties": {
                  "numerator": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "denominator": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "value": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "minimum": 0,
                    "maximum": 1
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "available",
                      "unavailable"
                    ]
                  },
                  "reason": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "oneOf": [
                  {
                    "properties": {
                      "availability": {
                        "const": "available"
                      },
                      "value": {
                        "type": "number"
                      },
                      "reason": {
                        "type": "null"
                      }
                    }
                  },
                  {
                    "properties": {
                      "availability": {
                        "const": "unavailable"
                      },
                      "value": {
                        "type": "null"
                      },
                      "reason": {
                        "type": "string",
                        "const": "no_submissions"
                      }
                    }
                  }
                ]
              }
            },
            "oneOf": [
              {
                "properties": {
                  "scope": {
                    "const": "ingestion_rejection"
                  },
                  "code": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "pattern": "^[a-z0-9]+(?:_[a-z0-9]+)*$"
                  },
                  "affected_node_count": {
                    "type": "null"
                  }
                }
              },
              {
                "properties": {
                  "scope": {
                    "enum": [
                      "processing_failure",
                      "blocked_dependency"
                    ]
                  },
                  "code": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 64,
                    "pattern": "^[a-z][a-z0-9_.-]{0,63}$"
                  },
                  "affected_node_count": {
                    "type": "integer",
                    "minimum": 0
                  }
                }
              }
            ]
          },
          "previous": {
            "$ref": "#/components/schemas/AnalyticsErrorGroupFact",
            "type": "object",
            "description": "One non-additive scope/code fact. Groups may overlap; never sum them to derive distinct affected submissions.",
            "additionalProperties": false,
            "required": [
              "scope",
              "code",
              "affected_submission_count",
              "affected_node_count",
              "submission_denominator",
              "rate"
            ],
            "properties": {
              "scope": {
                "type": "string",
                "enum": [
                  "ingestion_rejection",
                  "processing_failure",
                  "blocked_dependency"
                ]
              },
              "code": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128
              },
              "affected_submission_count": {
                "type": "integer",
                "minimum": 0
              },
              "affected_node_count": {
                "type": [
                  "integer",
                  "null"
                ],
                "minimum": 0
              },
              "submission_denominator": {
                "type": "integer",
                "minimum": 0
              },
              "rate": {
                "$ref": "#/components/schemas/AnalyticsDecisionRate",
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "numerator",
                  "denominator",
                  "value",
                  "availability",
                  "reason"
                ],
                "properties": {
                  "numerator": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "denominator": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "value": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "minimum": 0,
                    "maximum": 1
                  },
                  "availability": {
                    "type": "string",
                    "enum": [
                      "available",
                      "unavailable"
                    ]
                  },
                  "reason": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "oneOf": [
                  {
                    "properties": {
                      "availability": {
                        "const": "available"
                      },
                      "value": {
                        "type": "number"
                      },
                      "reason": {
                        "type": "null"
                      }
                    }
                  },
                  {
                    "properties": {
                      "availability": {
                        "const": "unavailable"
                      },
                      "value": {
                        "type": "null"
                      },
                      "reason": {
                        "type": "string",
                        "const": "no_submissions"
                      }
                    }
                  }
                ]
              }
            },
            "oneOf": [
              {
                "properties": {
                  "scope": {
                    "const": "ingestion_rejection"
                  },
                  "code": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "pattern": "^[a-z0-9]+(?:_[a-z0-9]+)*$"
                  },
                  "affected_node_count": {
                    "type": "null"
                  }
                }
              },
              {
                "properties": {
                  "scope": {
                    "enum": [
                      "processing_failure",
                      "blocked_dependency"
                    ]
                  },
                  "code": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 64,
                    "pattern": "^[a-z][a-z0-9_.-]{0,63}$"
                  },
                  "affected_node_count": {
                    "type": "integer",
                    "minimum": 0
                  }
                }
              }
            ]
          },
          "comparison": {
            "$ref": "#/components/schemas/AnalyticsComparisonPair",
            "type": "object",
            "additionalProperties": false,
            "required": [
              "count",
              "rate"
            ],
            "properties": {
              "count": {
                "$ref": "#/components/schemas/AnalyticsComparisonState",
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "availability",
                  "reason"
                ],
                "properties": {
                  "availability": {
                    "type": "string",
                    "enum": [
                      "available",
                      "unavailable"
                    ]
                  },
                  "reason": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "oneOf": [
                  {
                    "properties": {
                      "availability": {
                        "const": "available"
                      },
                      "reason": {
                        "type": "null"
                      }
                    }
                  },
                  {
                    "properties": {
                      "availability": {
                        "const": "unavailable"
                      },
                      "reason": {
                        "type": "string",
                        "enum": [
                          "previous_count_zero",
                          "current_period_has_no_attempted_nodes",
                          "previous_period_has_no_attempted_nodes",
                          "current_period_has_no_submissions",
                          "previous_period_has_no_submissions"
                        ]
                      }
                    }
                  }
                ]
              },
              "rate": {
                "$ref": "#/components/schemas/AnalyticsComparisonState",
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "availability",
                  "reason"
                ],
                "properties": {
                  "availability": {
                    "type": "string",
                    "enum": [
                      "available",
                      "unavailable"
                    ]
                  },
                  "reason": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "oneOf": [
                  {
                    "properties": {
                      "availability": {
                        "const": "available"
                      },
                      "reason": {
                        "type": "null"
                      }
                    }
                  },
                  {
                    "properties": {
                      "availability": {
                        "const": "unavailable"
                      },
                      "reason": {
                        "type": "string",
                        "enum": [
                          "previous_count_zero",
                          "current_period_has_no_attempted_nodes",
                          "previous_period_has_no_attempted_nodes",
                          "current_period_has_no_submissions",
                          "previous_period_has_no_submissions"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      }
    },
    "percentile_method": {
      "type": "string",
      "const": "nearest_rank"
    },
    "live_operations": {
      "$ref": "#/components/schemas/AnalyticsLiveOperations",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "queue",
        "workers"
      ],
      "properties": {
        "queue": {
          "$ref": "#/components/schemas/AnalyticsDocumentQueueSnapshot",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "observed_at",
            "pending_count",
            "in_flight_count",
            "availability",
            "scope",
            "method"
          ],
          "properties": {
            "observed_at": {
              "type": "string",
              "format": "date-time"
            },
            "pending_count": {
              "type": "integer",
              "minimum": 0
            },
            "in_flight_count": {
              "type": "integer",
              "minimum": 0
            },
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "unavailable"
              ]
            },
            "scope": {
              "type": "string",
              "const": "document_compose_and_render"
            },
            "method": {
              "type": "string",
              "const": "jetstream_consumer_info"
            }
          },
          "allOf": [
            {
              "if": {
                "properties": {
                  "availability": {
                    "const": "unavailable"
                  }
                },
                "required": [
                  "availability"
                ]
              },
              "then": {
                "properties": {
                  "pending_count": {
                    "const": 0
                  },
                  "in_flight_count": {
                    "const": 0
                  }
                }
              }
            }
          ]
        },
        "workers": {
          "$ref": "#/components/schemas/AnalyticsDocumentWorkerSnapshot",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "observed_at",
            "responsive_replicas",
            "busy_slots",
            "capacity_slots",
            "saturation_ratio",
            "availability",
            "scope",
            "method"
          ],
          "properties": {
            "observed_at": {
              "type": "string",
              "format": "date-time"
            },
            "responsive_replicas": {
              "type": "integer",
              "minimum": 0
            },
            "busy_slots": {
              "type": "integer",
              "minimum": 0
            },
            "capacity_slots": {
              "type": "integer",
              "minimum": 0
            },
            "saturation_ratio": {
              "type": [
                "number",
                "null"
              ],
              "minimum": 0,
              "maximum": 1
            },
            "availability": {
              "type": "string",
              "enum": [
                "available",
                "unavailable"
              ]
            },
            "scope": {
              "type": "string",
              "const": "document_worker_replicas"
            },
            "method": {
              "type": "string",
              "const": "bounded_nats_broadcast"
            }
          },
          "allOf": [
            {
              "if": {
                "properties": {
                  "availability": {
                    "const": "available"
                  },
                  "capacity_slots": {
                    "minimum": 1
                  }
                },
                "required": [
                  "availability",
                  "capacity_slots"
                ]
              },
              "then": {
                "properties": {
                  "saturation_ratio": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  }
                }
              },
              "else": {
                "properties": {
                  "saturation_ratio": {
                    "type": "null"
                  }
                }
              }
            }
          ]
        }
      }
    }
  }
}
Synthetic AnalyticsDecisionSummaryOK responseExemplu sintetic HTTP 200
{
  "observed_at": "2026-08-01T10:00:00Z",
  "current": {
    "from": "2026-08-01T10:00:00Z",
    "to": "2026-08-01T10:00:00Z",
    "submissions": {
      "count": 0,
      "raw_bytes": 0
    },
    "ingestion": {
      "accepted_count": 0,
      "rejected_count": 0,
      "no_processing_count": 0,
      "decision_latency": {
        "sample_count": 0,
        "p50_ms": null,
        "p95_ms": null
      }
    },
    "pending_ingestion_count": 0,
    "processing": {
      "planned_count": 0,
      "attempted_count": 0,
      "completed_count": 0,
      "failed_count": 0,
      "derived_blocked_count": 0,
      "duration": {
        "sample_count": 0,
        "p50_ms": null,
        "p95_ms": null
      },
      "peak_rss": {
        "measured_count": 0,
        "unavailable_count": 0,
        "p50_bytes": null,
        "p95_bytes": null
      }
    },
    "generated_set_count": 0,
    "storage": {
      "docx_count": 0,
      "docx_bytes": 0,
      "pdf_count": 0,
      "pdf_bytes": 0
    },
    "affected_submissions": {
      "numerator": 0,
      "denominator": 0,
      "value": 1,
      "availability": "available",
      "reason": null
    },
    "assessment": "no_activity",
    "processing_load": {
      "nominal_bucket_width_seconds": 3600,
      "buckets": [
        {
          "bucket_start": "2026-08-01T10:00:00Z",
          "bucket_width_seconds": 3600,
          "ingestion": {
            "duration_ms": 0,
            "operation_count": 0,
            "average_duration_ms": null
          },
          "transformation": {
            "duration_ms": 0,
            "operation_count": 0,
            "average_duration_ms": null
          },
          "docx_composition": {
            "duration_ms": 0,
            "operation_count": 0,
            "average_duration_ms": null
          },
          "pdf_generation": {
            "duration_ms": 0,
            "operation_count": 0,
            "average_duration_ms": null
          }
        }
      ]
    }
  },
  "previous": {
    "from": "2026-08-01T10:00:00Z",
    "to": "2026-08-01T10:00:00Z",
    "submissions": {
      "count": 0,
      "raw_bytes": 0
    },
    "ingestion": {
      "accepted_count": 0,
      "rejected_count": 0,
      "no_processing_count": 0,
      "decision_latency": {
        "sample_count": 0,
        "p50_ms": null,
        "p95_ms": null
      }
    },
    "pending_ingestion_count": 0,
    "processing": {
      "planned_count": 0,
      "attempted_count": 0,
      "completed_count": 0,
      "failed_count": 0,
      "derived_blocked_count": 0,
      "duration": {
        "sample_count": 0,
        "p50_ms": null,
        "p95_ms": null
      },
      "peak_rss": {
        "measured_count": 0,
        "unavailable_count": 0,
        "p50_bytes": null,
        "p95_bytes": null
      }
    },
    "generated_set_count": 0,
    "storage": {
      "docx_count": 0,
      "docx_bytes": 0,
      "pdf_count": 0,
      "pdf_bytes": 0
    },
    "affected_submissions": {
      "numerator": 0,
      "denominator": 0,
      "value": 1,
      "availability": "available",
      "reason": null
    },
    "assessment": "no_activity",
    "processing_load": {
      "nominal_bucket_width_seconds": 3600,
      "buckets": [
        {
          "bucket_start": "2026-08-01T10:00:00Z",
          "bucket_width_seconds": 3600,
          "ingestion": {
            "duration_ms": 0,
            "operation_count": 0,
            "average_duration_ms": null
          },
          "transformation": {
            "duration_ms": 0,
            "operation_count": 0,
            "average_duration_ms": null
          },
          "docx_composition": {
            "duration_ms": 0,
            "operation_count": 0,
            "average_duration_ms": null
          },
          "pdf_generation": {
            "duration_ms": 0,
            "operation_count": 0,
            "average_duration_ms": null
          }
        }
      ]
    }
  },
  "comparisons": {
    "submissions": {
      "availability": "available",
      "reason": null
    },
    "processing_completion": {
      "availability": "available",
      "reason": null
    },
    "generated_sets": {
      "availability": "available",
      "reason": null
    },
    "affected_submissions": {
      "availability": "available",
      "reason": null
    }
  },
  "error_group_count": 0,
  "error_groups_truncated": false,
  "error_groups": [
    {
      "current": {
        "scope": "ingestion_rejection",
        "code": "synthetic_example",
        "affected_submission_count": 0,
        "affected_node_count": null,
        "submission_denominator": 0,
        "rate": {
          "numerator": 0,
          "denominator": 0,
          "value": 1,
          "availability": "available",
          "reason": null
        }
      },
      "previous": {
        "scope": "ingestion_rejection",
        "code": "synthetic_example",
        "affected_submission_count": 0,
        "affected_node_count": null,
        "submission_denominator": 0,
        "rate": {
          "numerator": 0,
          "denominator": 0,
          "value": 1,
          "availability": "available",
          "reason": null
        }
      },
      "comparison": {
        "count": {
          "availability": "available",
          "reason": null
        },
        "rate": {
          "availability": "available",
          "reason": null
        }
      }
    }
  ],
  "percentile_method": "nearest_rank",
  "live_operations": {
    "queue": {
      "observed_at": "2026-08-01T10:00:00Z",
      "pending_count": 0,
      "in_flight_count": 0,
      "availability": "available",
      "scope": "document_compose_and_render",
      "method": "jetstream_consumer_info"
    },
    "workers": {
      "observed_at": "2026-08-01T10:00:00Z",
      "responsive_replicas": 0,
      "busy_slots": 0,
      "capacity_slots": 0,
      "saturation_ratio": null,
      "availability": "available",
      "scope": "document_worker_replicas",
      "method": "bounded_nats_broadcast"
    }
  }
}
401A valid server-side session is required.Este necesară o sesiune validă pe server.

Structured response bodyBody structurat al răspunsului

application/problem+json

Structured response bodyBody structurat al răspunsului

Complete response schemaSchema completă a răspunsului
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "title",
        "status",
        "code",
        "detail",
        "correlation_id"
      ],
      "properties": {
        "type": {
          "type": "string",
          "pattern": "^/problems/[a-z_]+$"
        },
        "title": {
          "type": "string",
          "minLength": 1
        },
        "status": {
          "type": "integer",
          "minimum": 400,
          "maximum": 599
        },
        "code": {
          "type": "string",
          "enum": [
            "internal_error",
            "dependency_unavailable",
            "invalid_credentials",
            "origin_rejected",
            "validation_failed",
            "rate_limited",
            "authentication_required",
            "csrf_rejected",
            "forbidden",
            "conflict",
            "not_found",
            "method_not_allowed",
            "unsupported_media_type",
            "content_unavailable",
            "precondition_required",
            "precondition_failed"
          ]
        },
        "detail": {
          "type": "string",
          "minLength": 1
        },
        "correlation_id": {
          "type": "string",
          "minLength": 1
        },
        "dependencies": {
          "type": "array",
          "maxItems": 3,
          "items": {
            "$ref": "#/components/schemas/PublicDependency",
            "type": "object",
            "additionalProperties": false,
            "required": [
              "name",
              "status"
            ],
            "properties": {
              "name": {
                "type": "string",
                "enum": [
                  "postgresql",
                  "nats",
                  "s3",
                  "outbox"
                ]
              },
              "status": {
                "type": "string",
                "enum": [
                  "ready",
                  "unavailable"
                ]
              }
            }
          }
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "status": {
          "const": 401
        },
        "code": {
          "const": "authentication_required"
        }
      }
    }
  ]
}
Synthetic AuthenticationRequired responseExemplu sintetic HTTP 401
{
  "type": "/problems/synthetic_example",
  "title": "synthetic-example",
  "status": 401,
  "code": "authentication_required",
  "detail": "synthetic-example",
  "correlation_id": "11111111-1111-4111-8111-000000000001"
}
403The authenticated identity lacks the administrator permission.Identitatea autentificată nu are permisiunea de administrator.

Structured response bodyBody structurat al răspunsului

application/problem+json

Structured response bodyBody structurat al răspunsului

Complete response schemaSchema completă a răspunsului
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "title",
        "status",
        "code",
        "detail",
        "correlation_id"
      ],
      "properties": {
        "type": {
          "type": "string",
          "pattern": "^/problems/[a-z_]+$"
        },
        "title": {
          "type": "string",
          "minLength": 1
        },
        "status": {
          "type": "integer",
          "minimum": 400,
          "maximum": 599
        },
        "code": {
          "type": "string",
          "enum": [
            "internal_error",
            "dependency_unavailable",
            "invalid_credentials",
            "origin_rejected",
            "validation_failed",
            "rate_limited",
            "authentication_required",
            "csrf_rejected",
            "forbidden",
            "conflict",
            "not_found",
            "method_not_allowed",
            "unsupported_media_type",
            "content_unavailable",
            "precondition_required",
            "precondition_failed"
          ]
        },
        "detail": {
          "type": "string",
          "minLength": 1
        },
        "correlation_id": {
          "type": "string",
          "minLength": 1
        },
        "dependencies": {
          "type": "array",
          "maxItems": 3,
          "items": {
            "$ref": "#/components/schemas/PublicDependency",
            "type": "object",
            "additionalProperties": false,
            "required": [
              "name",
              "status"
            ],
            "properties": {
              "name": {
                "type": "string",
                "enum": [
                  "postgresql",
                  "nats",
                  "s3",
                  "outbox"
                ]
              },
              "status": {
                "type": "string",
                "enum": [
                  "ready",
                  "unavailable"
                ]
              }
            }
          }
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "status": {
          "const": 403
        },
        "code": {
          "const": "forbidden"
        }
      }
    }
  ]
}
Synthetic Forbidden responseExemplu sintetic HTTP 403
{
  "type": "/problems/synthetic_example",
  "title": "synthetic-example",
  "status": 403,
  "code": "forbidden",
  "detail": "synthetic-example",
  "correlation_id": "11111111-1111-4111-8111-000000000001"
}
405The method is not supported by this path.Metoda nu este acceptată de această cale.

Structured response bodyBody structurat al răspunsului

Response headersHeaderele răspunsului

AllowThe exact method or method set supported by this path.Metoda sau setul exact de metode acceptate de această cale.

application/problem+json

Structured response bodyBody structurat al răspunsului

Complete response schemaSchema completă a răspunsului
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "title",
        "status",
        "code",
        "detail",
        "correlation_id"
      ],
      "properties": {
        "type": {
          "type": "string",
          "pattern": "^/problems/[a-z_]+$"
        },
        "title": {
          "type": "string",
          "minLength": 1
        },
        "status": {
          "type": "integer",
          "minimum": 400,
          "maximum": 599
        },
        "code": {
          "type": "string",
          "enum": [
            "internal_error",
            "dependency_unavailable",
            "invalid_credentials",
            "origin_rejected",
            "validation_failed",
            "rate_limited",
            "authentication_required",
            "csrf_rejected",
            "forbidden",
            "conflict",
            "not_found",
            "method_not_allowed",
            "unsupported_media_type",
            "content_unavailable",
            "precondition_required",
            "precondition_failed"
          ]
        },
        "detail": {
          "type": "string",
          "minLength": 1
        },
        "correlation_id": {
          "type": "string",
          "minLength": 1
        },
        "dependencies": {
          "type": "array",
          "maxItems": 3,
          "items": {
            "$ref": "#/components/schemas/PublicDependency",
            "type": "object",
            "additionalProperties": false,
            "required": [
              "name",
              "status"
            ],
            "properties": {
              "name": {
                "type": "string",
                "enum": [
                  "postgresql",
                  "nats",
                  "s3",
                  "outbox"
                ]
              },
              "status": {
                "type": "string",
                "enum": [
                  "ready",
                  "unavailable"
                ]
              }
            }
          }
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "status": {
          "const": 405
        },
        "code": {
          "const": "method_not_allowed"
        }
      }
    }
  ]
}
Synthetic MethodNotAllowed responseExemplu sintetic HTTP 405
{
  "type": "/problems/synthetic_example",
  "title": "synthetic-example",
  "status": 405,
  "code": "method_not_allowed",
  "detail": "synthetic-example",
  "correlation_id": "11111111-1111-4111-8111-000000000001"
}
422The request is invalid.Cererea este invalidă.

Structured response bodyBody structurat al răspunsului

application/problem+json

Structured response bodyBody structurat al răspunsului

Complete response schemaSchema completă a răspunsului
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "title",
        "status",
        "code",
        "detail",
        "correlation_id"
      ],
      "properties": {
        "type": {
          "type": "string",
          "pattern": "^/problems/[a-z_]+$"
        },
        "title": {
          "type": "string",
          "minLength": 1
        },
        "status": {
          "type": "integer",
          "minimum": 400,
          "maximum": 599
        },
        "code": {
          "type": "string",
          "enum": [
            "internal_error",
            "dependency_unavailable",
            "invalid_credentials",
            "origin_rejected",
            "validation_failed",
            "rate_limited",
            "authentication_required",
            "csrf_rejected",
            "forbidden",
            "conflict",
            "not_found",
            "method_not_allowed",
            "unsupported_media_type",
            "content_unavailable",
            "precondition_required",
            "precondition_failed"
          ]
        },
        "detail": {
          "type": "string",
          "minLength": 1
        },
        "correlation_id": {
          "type": "string",
          "minLength": 1
        },
        "dependencies": {
          "type": "array",
          "maxItems": 3,
          "items": {
            "$ref": "#/components/schemas/PublicDependency",
            "type": "object",
            "additionalProperties": false,
            "required": [
              "name",
              "status"
            ],
            "properties": {
              "name": {
                "type": "string",
                "enum": [
                  "postgresql",
                  "nats",
                  "s3",
                  "outbox"
                ]
              },
              "status": {
                "type": "string",
                "enum": [
                  "ready",
                  "unavailable"
                ]
              }
            }
          }
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "status": {
          "const": 422
        },
        "code": {
          "const": "validation_failed"
        }
      }
    }
  ]
}
Synthetic ValidationFailed responseExemplu sintetic HTTP 422
{
  "type": "/problems/synthetic_example",
  "title": "synthetic-example",
  "status": 422,
  "code": "validation_failed",
  "detail": "synthetic-example",
  "correlation_id": "11111111-1111-4111-8111-000000000001"
}
500An internal handler failure occurred.A apărut o eroare internă în handler.

Structured response bodyBody structurat al răspunsului

application/problem+json

Structured response bodyBody structurat al răspunsului

Complete response schemaSchema completă a răspunsului
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "title",
        "status",
        "code",
        "detail",
        "correlation_id"
      ],
      "properties": {
        "type": {
          "type": "string",
          "pattern": "^/problems/[a-z_]+$"
        },
        "title": {
          "type": "string",
          "minLength": 1
        },
        "status": {
          "type": "integer",
          "minimum": 400,
          "maximum": 599
        },
        "code": {
          "type": "string",
          "enum": [
            "internal_error",
            "dependency_unavailable",
            "invalid_credentials",
            "origin_rejected",
            "validation_failed",
            "rate_limited",
            "authentication_required",
            "csrf_rejected",
            "forbidden",
            "conflict",
            "not_found",
            "method_not_allowed",
            "unsupported_media_type",
            "content_unavailable",
            "precondition_required",
            "precondition_failed"
          ]
        },
        "detail": {
          "type": "string",
          "minLength": 1
        },
        "correlation_id": {
          "type": "string",
          "minLength": 1
        },
        "dependencies": {
          "type": "array",
          "maxItems": 3,
          "items": {
            "$ref": "#/components/schemas/PublicDependency",
            "type": "object",
            "additionalProperties": false,
            "required": [
              "name",
              "status"
            ],
            "properties": {
              "name": {
                "type": "string",
                "enum": [
                  "postgresql",
                  "nats",
                  "s3",
                  "outbox"
                ]
              },
              "status": {
                "type": "string",
                "enum": [
                  "ready",
                  "unavailable"
                ]
              }
            }
          }
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "status": {
          "const": 500
        },
        "code": {
          "const": "internal_error"
        }
      }
    }
  ]
}
Synthetic InternalError responseExemplu sintetic HTTP 500
{
  "type": "/problems/synthetic_example",
  "title": "synthetic-example",
  "status": 500,
  "code": "internal_error",
  "detail": "synthetic-example",
  "correlation_id": "11111111-1111-4111-8111-000000000001"
}
503A required dependency is unavailable.O dependență obligatorie este indisponibilă.

Structured response bodyBody structurat al răspunsului

application/problem+json

Structured response bodyBody structurat al răspunsului

Complete response schemaSchema completă a răspunsului
{
  "allOf": [
    {
      "$ref": "#/components/schemas/Problem",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "title",
        "status",
        "code",
        "detail",
        "correlation_id"
      ],
      "properties": {
        "type": {
          "type": "string",
          "pattern": "^/problems/[a-z_]+$"
        },
        "title": {
          "type": "string",
          "minLength": 1
        },
        "status": {
          "type": "integer",
          "minimum": 400,
          "maximum": 599
        },
        "code": {
          "type": "string",
          "enum": [
            "internal_error",
            "dependency_unavailable",
            "invalid_credentials",
            "origin_rejected",
            "validation_failed",
            "rate_limited",
            "authentication_required",
            "csrf_rejected",
            "forbidden",
            "conflict",
            "not_found",
            "method_not_allowed",
            "unsupported_media_type",
            "content_unavailable",
            "precondition_required",
            "precondition_failed"
          ]
        },
        "detail": {
          "type": "string",
          "minLength": 1
        },
        "correlation_id": {
          "type": "string",
          "minLength": 1
        },
        "dependencies": {
          "type": "array",
          "maxItems": 3,
          "items": {
            "$ref": "#/components/schemas/PublicDependency",
            "type": "object",
            "additionalProperties": false,
            "required": [
              "name",
              "status"
            ],
            "properties": {
              "name": {
                "type": "string",
                "enum": [
                  "postgresql",
                  "nats",
                  "s3",
                  "outbox"
                ]
              },
              "status": {
                "type": "string",
                "enum": [
                  "ready",
                  "unavailable"
                ]
              }
            }
          }
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "status": {
          "const": 503
        },
        "code": {
          "const": "dependency_unavailable"
        }
      }
    }
  ]
}
Synthetic DependencyUnavailable responseExemplu sintetic HTTP 503
{
  "type": "/problems/synthetic_example",
  "title": "synthetic-example",
  "status": 503,
  "code": "dependency_unavailable",
  "detail": "synthetic-example",
  "correlation_id": "11111111-1111-4111-8111-000000000001"
}

Frontend capabilityCapabilitate frontend

Owner: business-ui · /appResponsabil: business-ui · /app
PlannedPlanificatNoNuImplementedImplementatYesDaAcceptedAcceptatNoNu

Business analytics are served by the React dashboard.Operația este folosită de aplicația React de pe ruta indicată.

Guided courseCurs ghidat

This operation is not part of the finite Story 5.3 course.Această operație nu face parte din cursul finit Story 5.3.