Validate a project of any type
Validates a project of any type through a single type-agnostic endpoint.
Features:
- DSL_ONLY scope performs a synchronous syntax check and returns HTTP 200 immediately.
- FULL scope performs the syntax check then starts semantic validation asynchronously. When semantic validation is in progress the endpoint returns HTTP 202 with a Location header pointing to the status resource — poll until validateStatus.status is terminal (COMPLETED, FAILED, etc.).
- scope and revisionNumber apply to Advanced Replication projects; revisionNumber selects the project-file revision to validate.
- incremental applies only to Mainframe Replication projects, which validate files in chunks due to large project sizes. The first Mainframe validation always establishes a full baseline regardless of the flag. Later requests with incremental=true validate only file chunks changed since that baseline.
- Optional projectType hint avoids an internal store probe when the type is known.
Use Cases:
- Agent/automation triggers a DSL syntax check before committing Advanced Replication project files.
- Validate a complete Advanced Replication project including semantic checks and poll status.
- Validate incremental Mainframe Replication file changes after an initial full baseline.
Authorization: Requires either replication-pipeline::create or replication-pipeline::update when permission harmonization is enabled; otherwise, replication-pipeline::manage.
Request
- Base URL: https://integration-adapter.connect.cloud.precisely.com
- URL: https://integration-adapter.connect.cloud.precisely.com/v1/integration/projects/{projectId}/validate
- Auth: HTTP bearer
Path parameters
Unique identifier of the project to validate
Query parameters
Validation scope: DSL_ONLY | FULL
Supported project types for unified project operations
Optional project type hint: REPLICATION | MAINFRAME_REPLICATION | ADVANCED_REPLICATION
Mainframe Replication only. The first validation always establishes a full baseline. For later validations, true validates only changed file chunks since that baseline.
Optional revision number to validate
Response
Synchronous validation completed, including all DSL_ONLY validations and terminal FULL validations
Example response
{
"validateStatus": {
"status": "COMPLETED",
"lastUpdatedOn": "2026-08-12T06:22:07Z",
"message": "DSL validation completed: DSL_ONLY=PASSED",
"completePercentage": 100,
"projectValidation": {
"severityLevel": "VALID",
"message": "PASSED | DSL_ONLY=PASSED",
"scopeStatuses": [
{
"scope": "DSL_ONLY",
"status": "PASSED",
"message": "DSL_ONLY validation passed",
"findings": [
{
"findingId": "disdsl-E-008",
"category": "PIPELINE",
"severity": "ERROR",
"layer": "SEMANTIC",
"dslPath": "pipelines[0].name",
"message": "Duplicate pipeline name detected",
"errorCode": "disdsl-E-008",
"line": 14,
"column": 3,
"sourceFile": "pipelines/customer.dis.yaml"
}
]
}
]
}
}
}Changes
No recorded changes to this operation across all 1 revision of this API.