Advanced DSL Project Management
Create push reservation
Atomically checks push readiness and acquires a distributed lock for the project.
Features:
- Atomic revision conflict detection and lock acquisition
- Distributed Redis-based locking with configurable TTL
- Heartbeat-based lock extension per batch
- Automatic lock release on success or failure
Use Cases:
- VS Code extension initiating a DSL project push
- CLI tooling pushing project changes to Suite
Process:
- Validates the base revision number against the server's latest revision.
- Attempts to acquire a Redis-based distributed lock (TTL: 300s).
- Returns the proposed revision number (latest + 1) and reservation expiry.
Conflict scenarios:
- REVISION_CONFLICT (409): The client's base revision is stale — a newer revision exists.
- PUSH_IN_PROGRESS (409): Another user currently holds the push lock.
Lock behavior:
- Lock TTL: 300 seconds (extended via heartbeat per batch).
- Auto-released on push success or failure.
- Only one concurrent push per project.
Required Permissions: replication-pipeline::create when permission harmonization is enabled; otherwise, replication-pipeline::manage.
post/v1/integration/advanced-dsl/projects/{projectId}/push-reservation
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-reservation
- Auth: HTTP bearer
Path parameters
projectIdstring required
Unique project identifier
Request body
Example request
{
"baseRevisionNumber": 3
}Response
Push reservation acquired successfully
Example response
{
"reservationId": "res-a1b2c3d4-5678-90ef-ghij-klmnopqrstuv",
"projectId": "project-123",
"proposedRevisionNumber": 4,
"expiresAt": "2026-05-17T10:05:00Z"
}Changes
No recorded changes to this operation across all 1 revision of this API.