---
title: "Get project status"
method: GET
path: "/v1/integration/projects/{projectId}/status"
tags: ["Unified Project Lifecycle APIs"]
---

# Get project status

`GET /v1/integration/projects/{projectId}/status`

## Request

- Base URL: `https://integration-adapter.connect.cloud.precisely.com`
- URL: `https://integration-adapter.connect.cloud.precisely.com/v1/integration/projects/{projectId}/status`
- Auth: HTTP bearer

Retrieves the existing project status response. Validation and commit fields retain their
current behavior. Continuous Replication projects may additionally include `analyzeStatus`
while conversion analysis status is available; the field is omitted otherwise.

**Features:**
- Returns a complete status envelope: validation phase, per-scope results, findings,
  severity level, completion percentage, and the most recent commit state.
                                                            - Optionally returns `analyzeStatus` for Continuous Replication conversion analysis polling.
- Use the `Location` URI returned by a `202 Accepted` validation response as the
  polling target; continue polling while `validateStatus.status` is `INPROGRESS`.
- Works for all project types: Continuous Replication, Mainframe, and Advanced Replication.

**Use Cases:**
- Poll semantic validation progress after triggering a `FULL` scope validation.
                                                            - Poll conversion analysis after calling `analyzeProjectConversion` when `analyzeStatus`
                                                                    is present, until its status reaches a terminal state.
- Check whether a project has been committed and is ready for activation.
- Inspect per-scope findings and severity after a completed validation.

**Authorization:** Requires `replication-pipeline::view`.

## Path parameters

- `projectId` string, required

## Response `200`

Status retrieved

- UnifiedProjectStatusResponse: Unified project status response
  - `projectId` string: Unique identifier of the project
  - `validateStatus` ValidationStatusResponse: Adapter-owned validation status details
    - `status` 'OPEN' | 'INPROGRESS' | 'SUCCESS' | 'COMPLETED' | 'TIMEOUT' | 'ERROR': Validation execution status
    - `lastUpdatedOn` string, date-time: Timestamp when validation status was last updated
    - `message` string: Validation summary message
    - `completePercentage` integer: Validation completion percentage
    - `projectValidation` ValidationResultResponse: Validation result summary including counts and per-scope details
      - `severityLevel` 'VALID' | 'S4_WARNING' | 'S3_INCOMPLETE' | 'S2_ERROR' | 'S1_FATAL' | 'INFO': Overall validation severity level
      - `message` string: Overall validation message
      - `warning` integer: Warning count
      - `incomplete` integer: Incomplete count
      - `error` integer: Error count
      - `fatal` integer: Fatal count
      - `total` integer: Total findings count
      - `scopeStatuses` ValidationScopeStatusResponse[]: Per-scope validation details
        - `scope` 'DSL_ONLY' | 'FULL': Scope name
        - `status` 'STARTED' | 'INPROGRESS' | 'SKIPPED' | 'PASSED' | 'FAILED' | 'PASSED_WITH_WARNINGS': Validation status for this scope
        - `findingCount` integer: Total findings in this scope
        - `errorCount` integer: Total errors in this scope
        - `warningCount` integer: Total warnings in this scope
        - `message` string: Scope-specific summary message
        - `findings` ValidationFindingResponse[]: Detailed findings for this scope
          - `findingId` string: Stable finding identifier
          - `category` string: Finding category
          - `severity` 'INFO' | 'WARNING' | 'ERROR' | 'FATAL': Finding severity
          - `layer` string: Validation layer that produced the finding
          - `dslPath` string: DSL path where the issue was found
          - `message` string: Human-readable finding message
          - `errorCode` string: Internal finding error code
          - `suggestion` string: Suggested remediation for the finding
          - `line` integer: Line number where the issue was found
          - `column` integer: Column number where the issue was found
          - `sourceFile` string: Source file containing the issue
  - `commitStatus` CommitStatusResponse: Adapter-owned commit or staging status details
    - `status` 'OPEN' | 'INPROGRESS' | 'SUCCESS' | 'COMPLETED' | 'TIMEOUT' | 'ERROR': Commit execution status
    - `message` string: Commit summary message
    - `lastUpdatedOn` string, date-time: Timestamp when commit status was last updated
    - `projectValidation` ValidationResultResponse: Validation result summary including counts and per-scope details
      - `severityLevel` 'VALID' | 'S4_WARNING' | 'S3_INCOMPLETE' | 'S2_ERROR' | 'S1_FATAL' | 'INFO': Overall validation severity level
      - `message` string: Overall validation message
      - `warning` integer: Warning count
      - `incomplete` integer: Incomplete count
      - `error` integer: Error count
      - `fatal` integer: Fatal count
      - `total` integer: Total findings count
      - `scopeStatuses` ValidationScopeStatusResponse[]: Per-scope validation details
        - `scope` 'DSL_ONLY' | 'FULL': Scope name
        - `status` 'STARTED' | 'INPROGRESS' | 'SKIPPED' | 'PASSED' | 'FAILED' | 'PASSED_WITH_WARNINGS': Validation status for this scope
        - `findingCount` integer: Total findings in this scope
        - `errorCount` integer: Total errors in this scope
        - `warningCount` integer: Total warnings in this scope
        - `message` string: Scope-specific summary message
        - `findings` ValidationFindingResponse[]: Detailed findings for this scope
          - `findingId` string: Stable finding identifier
          - `category` string: Finding category
          - `severity` 'INFO' | 'WARNING' | 'ERROR' | 'FATAL': Finding severity
          - `layer` string: Validation layer that produced the finding
          - `dslPath` string: DSL path where the issue was found
          - `message` string: Human-readable finding message
          - `errorCode` string: Internal finding error code
          - `suggestion` string: Suggested remediation for the finding
          - `line` integer: Line number where the issue was found
          - `column` integer: Column number where the issue was found
          - `sourceFile` string: Source file containing the issue
    - `committed` boolean: Whether the project has been committed
  - `analyzeStatus` AnalyzeStatus
    - `status` 'OPEN' | 'INPROGRESS' | 'SUCCESS' | 'COMPLETED' | 'TIMEOUT' | 'ERROR'
    - `lastUpdatedOn` string, date-time
    - `message` string

## Other responses

- `401`: Unauthorized
- `403`: Forbidden — requires replication-pipeline::view
- `404`: Project status not found (DI-ADAPTER-PRJ-0011)
- `500`: Project status retrieval failed (DI-ADAPTER-PRJ-0012)

---

[API](https://skmtc.dev/precisely/apis/precisely-integration-adapter-service.md) · [All operations](https://skmtc.dev/precisely/apis/precisely-integration-adapter-service/llms.txt) · [OpenAPI document](https://skmtc.dev/precisely/apis/precisely-integration-adapter-service/revisions/2d2629f4987d?raw)
