Create mainframe push reservation
Acquires a distributed reservation required for batched mainframe push requests. Validates that the client's snapshot baseline matches the remote state. If drift is detected (canReserve=false), returns conflict details without acquiring a lock. If baseline matches, reserves exclusive access and returns a reservationId valid for 5 minutes.
Features:
- Distributed reservation locking (Redis-backed TTL of 5 minutes)
- Preflight fingerprint validation against the current remote snapshot
- Snapshot drift detection: returns canReserve=false with remote snapshot details on mismatch
- Hidden/system files are excluded from fingerprint evaluation by default (includeHidden=false)
- Concurrent push blocking: 409 response if another push already holds the lock
- Atomic check-and-lock pattern: ensures the baseline matches before the reservation is acquired
- Heartbeat extension during multi-batch push (each batch extends TTL)
Use Cases:
- Preflight validation before batching multi-file push to remote
- Blocking concurrent push attempts to same pipeline
- Obtaining unique reservationId for multi-phase orchestration
- Detecting stale local snapshot before starting expensive push operations
Workflow:
- Extension computes local snapshot fingerprint
- POST /push-reservation with fingerprint
- If canReserve=true: proceed with batched push, use reservationId for each batch
- If canReserve=false: show snapshot drift with remote files, prompt user for refresh/rebase
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/mainframe/projects/{projectId}/pipelines/{pipelineId}/push-reservation
- Auth: HTTP bearer
Path parameters
Unique identifier of the project that owns the pipeline.
Unique identifier of the pipeline that will receive the reservation.
Query parameters
Include hidden/system files in push-reservation fingerprint evaluation
Request body
Example request
{
"expectedSnapshotFingerprint": "4f3dfafda2ddf9753f6d9b7cf5f97f2c81f668f756ad0d6a4c930f725f4f3c8e"
}Response
Reservation response (acquired or snapshot drift detected)
Changes
No recorded changes to this operation across all 1 revision of this API.