Unified Project Lifecycle APIs
Create one project file
Creates one project file through the unified project API, for either an Advanced Replication (DSL) project or a Mainframe Replication pipeline.
Features:
- content is always a Base64-encoded string, regardless of mimeType (for example application/yaml, application/x-yaml, or text/plain) — this keeps binary-safe transport consistent for every file type and avoids JSON-escaping issues with raw file text.
- The response includes file metadata plus an ETag response header carrying a fingerprint hash of the created content; the same hash is also returned as contentHash in the body so callers that only inspect the JSON body (without reading headers) can still detect changes.
- Fails with a conflict when a file already exists at the requested path — use the update endpoint instead, or move/rename the existing file first.
- For Mainframe Replication, pass the pipeline identifier via pipelineId; Advanced Replication ignores pipelineId and instead uses the project's working set plus optional revisionNumber.
Use Cases:
- VS Code extension creates a new DSL file within a project.
- User seeds initial project files during onboarding or scaffolds a new pipeline definition.
Authorization: Requires replication-pipeline::create when permission harmonization is enabled; otherwise, replication-pipeline::manage.
post/v1/integration/projects/{projectId}/files
Request
- Base URL: https://integration-adapter.connect.cloud.precisely.com
- URL: https://integration-adapter.connect.cloud.precisely.com/v1/integration/projects/{projectId}/files
- Auth: HTTP bearer
Path parameters
projectIdstring required
Unique identifier of the project
Query parameters
projectType'REPLICATION' | 'MAINFRAME_REPLICATION' | 'ADVANCED_REPLICATION' required
Supported project types for unified project operations
Project type (required for routing): REPLICATION | MAINFRAME_REPLICATION | ADVANCED_REPLICATION
pipelineIdstring
Unique identifier of the Mainframe Replication pipeline (Mainframe Replication only). Ignored for Advanced Replication.
revisionNumberinteger
Optional revision number targeted by the create
Request body
Example request
{
"fileId": "file-002",
"flattenedPath": "sources/customers.dis.yaml",
"content": "c291cmNlOlxuICBjb25uZWN0aW9uOiBvcmFjbGVfc291cmNlXG4=",
"mimeType": "application/yaml",
"encoding": "utf-8"
}Response
File created successfully
Example response
{
"fileId": "file-002",
"fileName": "customers.dis.yaml",
"flattenedPath": "sources/customers.dis.yaml",
"version": 1,
"mimeType": "application/yaml",
"encoding": "utf-8",
"sizeBytes": 512
}Changes
No recorded changes to this operation across all 1 revision of this API.