DoculaDevelopersDezvoltatori
API 0.8.0 · BuildVersiune produs 0.33.0
Documentation navigationNavigare documentație
GET/api/v1/executions/{executionId}

Read exact durable execution and ordered step stateCitește execuția durabilă exactă și starea ordonată a etapelor

Read exact durable execution and ordered step state. Reads the identified resource without mutation. Required inputs: executionId. HTTP success: 200; documented failures: 401, 403, 404, 405, 500, 503. Preserve the documented UTC interval and temporal-resolution semantics.Citește execuția durabilă exactă și starea ordonată a etapelor. Citește resursa identificată fără modificare. Intrări obligatorii: executionId. Succes HTTP: 200; erori documentate: 401, 403, 404, 405, 500, 503. Păstrează intervalul UTC și semantica documentată de rezolvare temporală.

Roles: administrator, engineer, operator, auditorRoluri: administrator (administrator), engineer (inginer), operator (operator), auditor (auditor)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

executionIdpath · requiredobligatoriu
Immutable durable execution UUID.UUID-ul execuției durabile imuabile.
11111111-1111-4111-8111-000000000001
Complete parameter schemaSchema completă a parametrului
{
  "type": "string",
  "format": "uuid"
}

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/executions/$EXECUTION_ID" \
  --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

200Exact durable execution identity and ordered step state.Identitatea exactă a execuției durabile și starea ordonată a pașilor.

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/Execution",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "id",
    "release_id",
    "release_hash",
    "processing_kind",
    "input_hash",
    "raw_input_hash",
    "status",
    "submitted_by",
    "correlation_id",
    "created_at",
    "updated_at",
    "steps",
    "artifacts"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "release_id": {
      "type": "string",
      "format": "uuid"
    },
    "release_hash": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "processing_kind": {
      "type": "string",
      "enum": [
        "transformation",
        "document_generation"
      ]
    },
    "submission_id": {
      "type": "string",
      "format": "uuid"
    },
    "processing_node_id": {
      "type": "string",
      "format": "uuid"
    },
    "input": {
      "x-docula-max-bytes": 524288
    },
    "input_hash": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "raw_input": {
      "type": "string",
      "minLength": 1,
      "x-docula-max-bytes": 524288
    },
    "raw_input_hash": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "metadata": {
      "$ref": "#/components/schemas/IntakeMetadata",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schema",
        "source_object",
        "source_timestamp",
        "source_actor",
        "source_system",
        "fixture_family",
        "scenario_id",
        "schedule_interval_months"
      ],
      "properties": {
        "schema": {
          "type": "string",
          "const": "docula-intake-metadata-v1"
        },
        "source_object": {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$"
        },
        "source_timestamp": {
          "type": "string",
          "minLength": 1,
          "maxLength": 64
        },
        "source_actor": {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@+-]{0,127}$"
        },
        "source_system": {
          "type": "string",
          "pattern": "^[a-z0-9][a-z0-9._-]{0,63}$"
        },
        "fixture_family": {
          "type": "string",
          "pattern": "^[a-z0-9][a-z0-9._-]{0,63}$"
        },
        "scenario_id": {
          "type": "string",
          "pattern": "^[a-z0-9][a-z0-9._-]{0,63}$"
        },
        "schedule_interval_months": {
          "type": "integer",
          "enum": [
            1,
            6,
            12
          ]
        }
      }
    },
    "output": {
      "x-docula-max-bytes": 524288
    },
    "output_hash": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "status": {
      "type": "string",
      "enum": [
        "queued",
        "processing",
        "awaiting_compose",
        "completed",
        "failed"
      ]
    },
    "submitted_by": {
      "type": "string",
      "format": "uuid"
    },
    "correlation_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    },
    "completed_at": {
      "type": "string",
      "format": "date-time"
    },
    "steps": {
      "type": "array",
      "minItems": 2,
      "maxItems": 4,
      "items": {
        "$ref": "#/components/schemas/ExecutionStep",
        "type": "object",
        "additionalProperties": false,
        "required": [
          "name",
          "position",
          "status",
          "attempt",
          "state_version"
        ],
        "properties": {
          "name": {
            "type": "string",
            "enum": [
              "validate",
              "transform.declarative",
              "compose",
              "render"
            ]
          },
          "position": {
            "type": "integer",
            "minimum": 1,
            "maximum": 4
          },
          "status": {
            "type": "string",
            "enum": [
              "not_started",
              "queued",
              "running",
              "succeeded",
              "failed"
            ]
          },
          "attempt": {
            "type": "integer",
            "minimum": 0,
            "maximum": 5
          },
          "state_version": {
            "type": "integer",
            "minimum": 1
          },
          "started_at": {
            "type": "string",
            "format": "date-time"
          },
          "finished_at": {
            "type": "string",
            "format": "date-time"
          },
          "duration_ms": {
            "type": "integer",
            "minimum": 0
          },
          "summary": {
            "type": "object"
          },
          "failure": {
            "$ref": "#/components/schemas/ExecutionFailure",
            "type": "object",
            "additionalProperties": false,
            "required": [
              "code",
              "message",
              "issues"
            ],
            "properties": {
              "code": {
                "type": "string",
                "pattern": "^[a-z][a-z0-9_.-]{0,63}$"
              },
              "message": {
                "type": "string",
                "minLength": 1,
                "maxLength": 240
              },
              "issues": {
                "type": "array",
                "maxItems": 20,
                "items": {
                  "$ref": "#/components/schemas/ExecutionIssue",
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "path",
                    "message"
                  ],
                  "properties": {
                    "path": {
                      "type": "string",
                      "maxLength": 512
                    },
                    "keyword": {
                      "type": "string",
                      "maxLength": 64
                    },
                    "message": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 240
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "artifacts": {
      "type": "array",
      "maxItems": 2,
      "items": {
        "$ref": "#/components/schemas/ExecutionArtifact",
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "kind",
          "media_type",
          "byte_size",
          "content_hash",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "kind": {
            "type": "string",
            "enum": [
              "docx",
              "pdf"
            ]
          },
          "media_type": {
            "type": "string",
            "enum": [
              "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
              "application/pdf"
            ]
          },
          "byte_size": {
            "type": "integer",
            "minimum": 1,
            "maximum": 26214400
          },
          "content_hash": {
            "type": "string",
            "pattern": "^[0-9a-f]{64}$"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      }
    }
  }
}
Synthetic ExecutionOK responseExemplu sintetic HTTP 200
{
  "id": "11111111-1111-4111-8111-000000000001",
  "release_id": "11111111-1111-4111-8111-000000000001",
  "release_hash": "0000000000000000000000000000000000000000000000000000000000000000",
  "processing_kind": "transformation",
  "input_hash": "0000000000000000000000000000000000000000000000000000000000000000",
  "raw_input_hash": "0000000000000000000000000000000000000000000000000000000000000000",
  "status": "queued",
  "submitted_by": "11111111-1111-4111-8111-000000000001",
  "correlation_id": "11111111-1111-4111-8111-000000000001",
  "created_at": "2026-08-01T10:00:00Z",
  "updated_at": "2026-08-01T10:00:00Z",
  "steps": [
    {
      "name": "validate",
      "position": 1,
      "status": "not_started",
      "attempt": 0,
      "state_version": 1
    },
    {
      "name": "transform.declarative",
      "position": 2,
      "status": "queued",
      "attempt": 1,
      "state_version": 2
    }
  ],
  "artifacts": []
}
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"
}
404The API or health path is unknown.Calea API sau de health este necunoscută.

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": 404
        },
        "code": {
          "const": "not_found"
        }
      }
    }
  ]
}
Synthetic NotFound responseExemplu sintetic HTTP 404
{
  "type": "/problems/synthetic_example",
  "title": "synthetic-example",
  "status": 404,
  "code": "not_found",
  "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"
}
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 · /app/configuration/runsResponsabil: business-ui · /app/configuration/runs
PlannedPlanificatNoNuImplementedImplementatYesDaAcceptedAcceptatNoNu

Execution and live-trace workflows are served by the React configuration pages.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.