Bulk save project files
Bulk saves project files and preserves generated 200 or 207 bulk-operation statuses. Each file's content is a Base64-encoded string. Successful results return metadata; content is Base64-encoded wherever a content field is included.
Features:
- Accepts up to 250 files per batch request (connect-portal's configured maximum).
- Returns per-file results so partial failures do not abort the entire batch.
- Skips the write and returns unchanged: true on an item when its submitted content, mimeType, and encoding already match the stored file (for example, a retried autosave) — this avoids creating unnecessary draft versions.
- Update items (identified by fileId) may supply an optional expectedContentHash precondition; if it does not match the file's current stored content hash, only that item fails — other items in the batch are unaffected. Ignored for new-file items.
Use Cases:
- VS Code extension pushes multiple locally edited files in one request.
- User seeds a project with a directory of generated files.
Authorization: Requires replication-pipeline::create 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}/files/batch-save
- Auth: HTTP bearer
Path parameters
Unique identifier of the project
Query parameters
Supported project types for unified project operations
Project type (required for routing): REPLICATION | MAINFRAME_REPLICATION | ADVANCED_REPLICATION
Unique identifier of the Mainframe Replication pipeline (Mainframe Replication only). Ignored for Advanced Replication.
Optional revision number targeted by the batch save
Request body
Example request
{
"files": [
{
"fileId": "file-002",
"flattenedPath": "sources/customers.dis.yaml",
"content": "c291cmNlOlxuICBjb25uZWN0aW9uOiBvcmFjbGVfc291cmNlXG4=",
"mimeType": "application/yaml",
"encoding": "utf-8"
}
]
}Response
All files saved successfully
Example response
{
"results": [
{
"fileId": "file-002",
"successful": true,
"metadata": {
"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.