openapi: 3.0.3 info: title: Clarifeye Platform Agent Settings Pipeline Runs API description: 'REST API for the Clarifeye Platform - Document intelligence and AI-powered analysis. ## Authentication All endpoints require authentication. Include the Authorization header in every request using either format: - `Authorization: Token ` - `Authorization: Bearer ` ## Impersonation Certain endpoints support user impersonation for creating or listing data on behalf of other users. This is useful for integrating external systems that need to attribute actions to specific users. **Header:** `X-Impersonate-Email` **Required Permission:** `CAN_IMPERSONATE_OTHER_USERS` (contact Clarifeye to enable this permission) **Behavior:** - If the header is provided and the impersonator has the required permission, the action is performed as the target user - If the target user is not found, the request proceeds as the original authenticated user - If the target user does not have access to the project, the request proceeds as the original authenticated user - If the impersonator lacks the `CAN_IMPERSONATE_OTHER_USERS` permission, the header is ignored ' version: 1.0.0 contact: name: Clarifeye Support servers: - url: https://eu.app.clarifeye.ai/api/v1 description: EU - url: https://us.app.clarifeye.ai/api/v1 description: US security: - BearerAuth: [] - TokenAuth: [] tags: - name: Pipeline Runs description: Inspect pipeline runs queued by extraction flows or other pipeline triggers — list runs and fetch the details/status of a single run paths: /projects/{project_id}/pipeline-runs/: get: tags: - Pipeline Runs summary: List pipeline runs description: 'List all pipeline runs in the project, ordered by creation date (most recent first). Use this to discover the `id` of a run returned by an extraction flow `run-sync` / `publish` call, or to monitor recent activity. The list response uses a lightweight serializer that omits the very large `chunk_ids` / `document_ids` arrays and truncates `raw_logs` to the most recent entries. Fetch a single run via the detail endpoint to get the full payload. ' operationId: listPipelineRuns parameters: - $ref: '#/components/parameters/ProjectId' - name: status in: query description: Filter pipeline runs by status (e.g. `pending`, `running`, `completed`, `failed`). schema: $ref: '#/components/schemas/PipelineRunStatus' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Offset' responses: '200': description: Successful response content: application/json: schema: allOf: - $ref: '#/components/schemas/PaginatedResponse' - type: object properties: results: type: array items: $ref: '#/components/schemas/PipelineRunListItem' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /projects/{project_id}/pipeline-runs/{pipeline_run_id}/: get: tags: - Pipeline Runs summary: Get pipeline run details and status description: 'Retrieve the full details of a single pipeline run, including its current `status`, the list of executed steps with their per-step status, and the aggregated `raw_logs` produced during execution. Poll this endpoint to track the progress of a run started via an extraction flow `run-sync` or `publish` call. A run is in a terminal state when `status` is one of `completed`, `completed_with_warnings`, `failed`, or `aborted`. ' operationId: getPipelineRun parameters: - $ref: '#/components/parameters/ProjectId' - $ref: '#/components/parameters/PipelineRunId' responses: '200': description: Pipeline run details content: application/json: schema: $ref: '#/components/schemas/PipelineRun' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /projects/{project_id}/pipeline-runs/{pipeline_run_id}/abort/: post: tags: - Pipeline Runs summary: Abort a pipeline run description: 'Cancel a pipeline run that is `pending` or `running`. The run and any of its non-terminal steps transition to `aborted`. Aborting an already-terminal run (`completed`, `completed_with_warnings`, `failed`, or `aborted`) is a no-op. ' operationId: abortPipelineRun parameters: - $ref: '#/components/parameters/ProjectId' - $ref: '#/components/parameters/PipelineRunId' responses: '200': description: Abort accepted content: application/json: schema: type: object properties: status: type: string example: aborted '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' components: schemas: PipelineRun: type: object description: Full pipeline run payload returned by the detail endpoint. properties: id: type: string format: uuid created_at: type: string format: date-time updated_at: type: string format: date-time status: $ref: '#/components/schemas/PipelineRunStatus' project: type: string format: uuid pipeline_name: type: string mode: type: string description: Run mode (e.g. `recreate-all`, `recreate-single`, `upsert-single`, `upsert-all`). celery_task_id: type: string user: type: string format: uuid nullable: true description: ID of the user who triggered the run. tables: type: object nullable: true description: Map of table name → table version UUID for the run. steps: type: array items: $ref: '#/components/schemas/PipelineRunStep' document_ids: type: array items: type: string format: uuid nullable: true description: UUIDs of documents this run targets. chunk_ids: type: array items: type: string format: uuid nullable: true description: UUIDs of chunks this run targets. raw_logs: type: string description: Concatenated logs produced during execution. PipelineRunStatus: type: string description: 'Lifecycle status of a pipeline run or step: - `pending` — queued, not yet started - `running` — currently executing - `completed` — finished successfully - `completed_with_warnings` — finished, but some steps emitted warnings - `failed` — terminated with an error - `aborted` — cancelled via the `abort` action ' enum: - pending - running - completed - completed_with_warnings - failed - aborted PipelineRunListItem: type: object description: 'Lightweight pipeline run representation returned by the list endpoint. Excludes the large `chunk_ids` / `document_ids` arrays and truncates `raw_logs` to the most recent entries. Use the detail endpoint to get the full payload. ' properties: id: type: string format: uuid created_at: type: string format: date-time updated_at: type: string format: date-time status: $ref: '#/components/schemas/PipelineRunStatus' project: type: string format: uuid pipeline_name: type: string mode: type: string description: Run mode (e.g. `recreate-all`, `recreate-single`, `upsert-single`, `upsert-all`). celery_task_id: type: string user: type: string format: uuid nullable: true description: ID of the user who triggered the run. tables: type: object nullable: true description: Map of table name → table version UUID for the run. steps: type: array items: $ref: '#/components/schemas/PipelineRunStep' document_count: type: integer description: Number of documents this run targets. chunk_count: type: integer description: Number of chunks this run targets. raw_logs: type: string description: Truncated tail of run logs (most recent entries only). PipelineRunStep: type: object description: One step within a pipeline run's DAG. properties: id: type: string format: uuid created_at: type: string format: date-time updated_at: type: string format: date-time step: type: string description: The pipeline step type (parsing, chunking, tag-extraction, etc.). name: type: string nullable: true description: Human-readable name of the step within the DAG. status: $ref: '#/components/schemas/PipelineRunStatus' inputs: type: object description: Map of input table name → resolved table version UUID. additionalProperties: type: string format: uuid nullable: true outputs: type: object description: Map of output table name → resolved table version UUID. additionalProperties: type: string format: uuid nullable: true warnings: nullable: true description: Warnings emitted by the step, when any. depends_on: type: array items: type: string description: Names of the steps this step depends on. params: type: object description: Step-specific parameters used at execution time. tag_extractor_id: type: string format: uuid nullable: true object_extractor_id: type: string format: uuid nullable: true chunks_extractor_id: type: string format: uuid nullable: true PaginatedResponse: type: object properties: count: type: integer description: Total number of results next: type: string format: uri nullable: true description: URL to next page of results previous: type: string format: uri nullable: true description: URL to previous page of results results: type: array items: {} Error: type: object properties: error: type: string description: Error message example: error: User not found parameters: Limit: name: limit in: query description: Maximum number of results per page schema: type: integer default: 100 minimum: 1 maximum: 1000 PipelineRunId: name: pipeline_run_id in: path required: true description: UUID of the pipeline run schema: type: string format: uuid Offset: name: offset in: query description: Number of results to skip for pagination schema: type: integer default: 0 minimum: 0 ProjectId: name: project_id in: path required: true description: UUID of the project schema: type: string format: uuid responses: Forbidden: description: Forbidden - insufficient permissions content: application/json: schema: $ref: '#/components/schemas/Error' example: error: You do not have permission to perform this action. Unauthorized: description: Unauthorized - missing or invalid authentication content: application/json: schema: $ref: '#/components/schemas/Error' example: error: Authentication credentials were not provided. NotFound: description: Not found - resource does not exist content: application/json: schema: $ref: '#/components/schemas/Error' example: error: Not found. securitySchemes: BearerAuth: type: http scheme: bearer description: 'Use Authorization: Bearer ' TokenAuth: type: apiKey in: header name: Authorization description: 'Use Authorization: Token '