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

Read bounded canonical contributors to one returned processing-load bucketCitește contributorii canonici ai unui interval de încărcare

Read bounded canonical contributors to one returned processing-load bucket. Reads a bounded canonical view without mutation. Required inputs: from, to, phase, bucket_start, bucket_width_seconds. HTTP success: 200; documented failures: 401, 403, 405, 422, 500, 503. Treat the returned cursor as opaque and preserve the operation's filters across pages.Citește contributorii canonici ai unui interval de încărcare. Citește o vedere canonică limitată fără modificare. Intrări obligatorii: from, to, phase, bucket_start, bucket_width_seconds. Succes HTTP: 200; erori documentate: 401, 403, 405, 422, 500, 503. Tratează cursorul returnat ca opac și păstrează filtrele operației între pagini.

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 · requiredobligatoriu
Inclusive UTC cohort boundary copied from decision-summary.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 · requiredobligatoriu
Exclusive UTC cohort boundary copied from decision-summary.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"
}
phasequery · requiredobligatoriu
Exact canonical processing phase returned by decision-summary.Faza canonică exactă de procesare returnată de decision-summary.
ingestion
Complete parameter schemaSchema completă a parametrului
{
  "type": "string",
  "enum": [
    "ingestion",
    "transformation",
    "docx_composition",
    "pdf_generation"
  ]
}
bucket_startquery · requiredobligatoriu
Exact UTC start returned by decision-summary.Începutul UTC exact returnat de decision-summary.
2026-08-01T10:00:00Z
Complete parameter schemaSchema completă a parametrului
{
  "type": "string",
  "format": "date-time"
}
bucket_width_secondsquery · requiredobligatoriu
Exact actual whole-hour bucket width returned by decision-summary.Lățimea exactă, în ore întregi, a bucketului real returnat de decision-summary.
3600
Complete parameter schemaSchema completă a parametrului
{
  "type": "integer",
  "minimum": 3600,
  "maximum": 86400,
  "multipleOf": 3600
}
limitquery · optionalopțional
Maximum number of ordered results to return on this page.Numărul maxim de rezultate ordonate returnate în această pagină.
50
Complete parameter schemaSchema completă a parametrului
{
  "type": "integer",
  "minimum": 1,
  "maximum": 100,
  "default": 50
}
cursorquery · optionalopțional
Opaque cursor bound to every normalized contributor filter.Cursor stabil și opac din pagina ordonată precedentă; păstrează filtrele operației la continuare.
synthetic-cursor
Complete parameter schemaSchema completă a parametrului
{
  "type": "string",
  "minLength": 1,
  "maxLength": 512
}

Parameter limitsLimitele parametrilor

{"name":"bucket_width_seconds","maximum":86400,"max_length":null}{"name":"limit","maximum":100,"max_length":null}{"name":"cursor","maximum":null,"max_length":512}

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/processing-contributors" \
  --get \
  --data-urlencode "from=$FROM" \
  --data-urlencode "to=$TO" \
  --data-urlencode "phase=$PHASE" \
  --data-urlencode "bucket_start=$BUCKET_START" \
  --data-urlencode "bucket_width_seconds=$BUCKET_WIDTH_SECONDS" \
  --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 refreshed processing-load bucket and its bounded canonical contributors.Un bucket actualizat al încărcării procesării și contributorii săi canonici mărginiți.

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/AnalyticsProcessingContributorPage",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "observed_at",
    "bucket",
    "items",
    "next_cursor"
  ],
  "properties": {
    "observed_at": {
      "type": "string",
      "format": "date-time"
    },
    "bucket": {
      "$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
            }
          }
        }
      }
    },
    "items": {
      "type": "array",
      "maxItems": 100,
      "items": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AnalyticsContributor",
            "type": "object",
            "additionalProperties": false,
            "required": [
              "kind",
              "submission_id",
              "submission_path"
            ],
            "properties": {
              "kind": {
                "type": "string",
                "enum": [
                  "ingestion_submission",
                  "processing_node",
                  "blocked_node"
                ]
              },
              "submission_id": {
                "type": "string",
                "format": "uuid"
              },
              "submission_path": {
                "type": "string",
                "pattern": "^/api/v1/submissions/[0-9a-f-]{36}$"
              },
              "processing_node_id": {
                "type": "string",
                "format": "uuid"
              },
              "processing_node_address": {
                "type": "string",
                "minLength": 3,
                "maxLength": 1024
              },
              "element_path": {
                "type": "string",
                "pattern": "^/api/v1/submissions/[0-9a-f-]{36}/elements/[0-9a-f-]{36}$"
              },
              "execution_id": {
                "type": "string",
                "format": "uuid"
              },
              "execution_path": {
                "type": "string",
                "pattern": "^/api/v1/executions/[0-9a-f-]{36}$"
              },
              "contribution_duration_ms": {
                "type": "integer",
                "minimum": 0
              }
            },
            "oneOf": [
              {
                "properties": {
                  "kind": {
                    "const": "ingestion_submission"
                  }
                },
                "not": {
                  "anyOf": [
                    {
                      "required": [
                        "processing_node_id"
                      ]
                    },
                    {
                      "required": [
                        "processing_node_address"
                      ]
                    },
                    {
                      "required": [
                        "element_path"
                      ]
                    },
                    {
                      "required": [
                        "execution_id"
                      ]
                    },
                    {
                      "required": [
                        "execution_path"
                      ]
                    }
                  ]
                }
              },
              {
                "properties": {
                  "kind": {
                    "const": "processing_node"
                  }
                },
                "required": [
                  "processing_node_id",
                  "processing_node_address",
                  "element_path",
                  "execution_id",
                  "execution_path"
                ]
              },
              {
                "properties": {
                  "kind": {
                    "const": "blocked_node"
                  }
                },
                "required": [
                  "processing_node_id",
                  "processing_node_address",
                  "element_path"
                ],
                "not": {
                  "anyOf": [
                    {
                      "required": [
                        "execution_id"
                      ]
                    },
                    {
                      "required": [
                        "execution_path"
                      ]
                    }
                  ]
                }
              }
            ]
          },
          {
            "required": [
              "contribution_duration_ms"
            ],
            "properties": {
              "kind": {
                "enum": [
                  "ingestion_submission",
                  "processing_node"
                ]
              }
            }
          }
        ]
      }
    },
    "next_cursor": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 45,
      "maxLength": 512,
      "pattern": "^[A-Za-z0-9_-]+[.][A-Za-z0-9_-]{43}$"
    }
  }
}
Synthetic AnalyticsProcessingContributorsOK responseExemplu sintetic HTTP 200
{
  "observed_at": "2026-08-01T10:00:00Z",
  "bucket": {
    "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
    }
  },
  "items": [
    {
      "kind": "ingestion_submission",
      "submission_id": "11111111-1111-4111-8111-000000000001",
      "submission_path": "/api/v1/submissions/11111111-1111-4111-8111-111111111111",
      "contribution_duration_ms": 0
    }
  ],
  "next_cursor": null
}
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.