List engagements
Lists commercial engagements for the resolved workspace. Each engagement is one distinct commercial commitment to a customer; filter by customer, status, or engagement type.
GET
/api/v1/engagementsAuthorization
engagements:readapi key scoperequiredRequired scope when calling with an API key.
Query parameters
customer_idstringoptionalBound results to one customer
Example: cust_abc123
statusstringoptionaldraft, active, completed, cancelled, or superseded
Example: active
engagement_typestringoptionalimplementation, discovery, managed_services, enhancement, support, change_order, advisory, migration, integration, retainer, or other
Example: implementation
limitnumberoptionalMaximum rows, clamped to 1–100
Example: 25
Request
curl -X GET "https://www.digitalstack360.com/api/v1/engagements" \
-H "Authorization: Bearer $DS_API_KEY"Examples use a placeholder key from your environment. Store your key in $DS_API_KEY — never commit it.
Response
200 OK
{
"data": [
{
"id": "eng_abc123",
"customer_id": "cust_abc123",
"name": "Acme replatform",
"engagement_type": "implementation",
"status": "active",
"parent_engagement_id": null,
"effective_start": "2026-06-01",
"effective_end": null,
"updated_at": "2026-07-15T14:22:04Z"
}
],
"meta": {
"count": 1,
"truncated": false
}
}Errors
401
missing_authNo credentials provided
401
invalid_api_keyAPI key is invalid or revoked
403
scope_insufficientKey lacks engagements:read scope
400
invalid_statusUnknown status filter value
400
invalid_engagement_typeUnknown engagement_type filter value