Push files (batch upload)
Uploads a batch of DSL project files as part of a push operation.
Features:
- Multi-file batch upload (up to 499 per batch)
- Automatic content hashing (SHA-256)
- Best-effort compensation on failure
- Lock heartbeat extension per batch
- Relationship creation for final batch
Use Cases:
- Large project push split into multiple batches
- Single-batch push for small projects
- Resumable uploads via batching strategy
Request model:
- Reservation controls are provided via headers: X-Reservation-Id, X-Proposed-Revision-Number
- Batch controls and metadata are provided as multipart form fields: isFinal, description, unchangedFileIds, transitionDraftAssetIds, fileMetadata
- Changed files are uploaded through the multipart files part
Batch constraints:
- Maximum 499 assets per batch
- Maximum 24 MB total payload per batch
- Batches are submitted sequentially under one reservation
- fileMetadata is sent as a multipart form field in the request body (JSON map of flattenedPath -> {version,mimeType,encoding}) for uploaded files only
- unchangedFileIds and transitionDraftAssetIds are accepted only when isFinal=true
Final batch behavior:
- Set isFinal=true on the last batch
- Triggers revision asset creation (DISDSLRevision)
- Creates Defines (ReplicationProject → DISDSLRevision) relationship
- Creates Includes (DISDSLRevision → DISDSLFile) relationships for all files
- Heartbeat extends lock TTL per batch
Required Permissions: 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/advanced-dsl/projects/{projectId}/push
- Auth: HTTP bearer
Path parameters
Unique project identifier
Query parameters
Whether this is the final batch in the push sequence
Optional commit message (used on final batch)
Catalog asset IDs of unchanged files (final batch only; rejected when isFinal=false)
Catalog asset IDs of existing draft files to transition to approved (final batch only; rejected when isFinal=false)
Optional JSON map of flattenedPath -> {version,phase,mimeType,encoding} for changed files
Headers
The reservation ID from the push-reservation response
The proposed revision number from the push-reservation response
Response
Final batch processed — push completed successfully
Example response
{
"status": "success",
"revisionId": "rev-abc123",
"revisionNumber": 4,
"filesPersistedCount": 12,
"fileResults": [
{
"flattenedPath": "pipelines/customer-sync.dis.yaml",
"catalogAssetId": "asset-xyz-789",
"action": "created",
"phase": "draft",
"version": 1,
"catalogLink": "https://catalog.precisely.com/assets/asset-xyz-789"
}
],
"retentionEvictions": [
{
"evictedRevisionId": "rev-old-001",
"evictedRevisionNumber": 1,
"filesPhysicallyDeleted": 5,
"filesRelationshipDeleted": 5
}
],
"timestamp": "2026-05-17T10:00:00Z"
}Changes
No recorded changes to this operation across all 1 revision of this API.