Request baseline review

Submits a draft proposal to an authorized human. This is the final MCP boundary and does not freeze a baseline.

POST/api/v1/estimates/:id/baseline-requests

Authorization

estimates:operateapi key scoperequired
Required scope when calling with an API key.

Path parameters

idstringrequired
Estimate UUID.

Example: 8a043c6e-52ab-4df1-8b7a-afec991a05a2

Request body

proposal_idstringrequired
Draft proposal UUID.
expected_versionnumberrequired
Current estimate version.
reasonstringoptional
Reason for review.
confirmbooleanrequired
Must be true.
Example request
{
  "proposal_id": "f61f8271-ddb5-4d55-a4d2-5910714fd7a2",
  "expected_version": 3,
  "reason": "Ready for delivery-lead review",
  "confirm": true
}

Request

curl -X POST "https://www.digitalstack360.com/api/v1/estimates/8a043c6e-52ab-4df1-8b7a-afec991a05a2/baseline-requests" \
  -H "Authorization: Bearer $DS_API_KEY" \
  -H "Idempotency-Key: estimate-baseline-request-03" \
  -H "Content-Type: application/json" \
  -d '{"proposal_id":"f61f8271-ddb5-4d55-a4d2-5910714fd7a2","expected_version":3,"reason":"Ready for delivery-lead review","confirm":true}'

Examples use a placeholder key from your environment. Store your key in $DS_API_KEY — never commit it.

Response

200 OK
{
  "data": {
    "id": "f61f8271-ddb5-4d55-a4d2-5910714fd7a2",
    "status": "pending_review"
  }
}

Errors

401
missing_auth

No credentials provided

401
invalid_api_key

API key is invalid or revoked

400
bad_request

Missing or invalid request fields

403
scope_insufficient

Key lacks the required write scope

409
version_conflict

Estimate changed since the proposal was drafted.