Unified Project Lifecycle APIs

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.

post/v1/integration/projects/{projectId}/files/batch-save

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

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 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.