{"openapi":"3.0.3","info":{"title":"DCS Client Insights — agent actions","version":"1.0.0","description":"Read-only actions for Microsoft 365 agents. No action changes any record."},"servers":[{"url":"https://localhost:3000"}],"paths":{"/api/agent/customer-brief":{"get":{"operationId":"customerBrief","summary":"Brief me on this customer before my meeting","description":"Someone is about to walk into a review and needs the position in one place. Returns: Agreement, contract value, renewals due, support performance, open findings, maintenance not billed and open pipeline.","parameters":[{"name":"account","in":"query","required":true,"description":"DCS account number, for example ARM005","schema":{"type":"string"}}],"responses":{"200":{"description":"Agreement, contract value, renewals due, support performance, open findings, maintenance not billed and open pipeline.","content":{"application/json":{"schema":{"type":"object","properties":{"summary":{"type":"string","description":"A sentence answering the question."},"generatedAt":{"type":"string"},"caveats":{"type":"array","items":{"type":"string"}},"data":{"type":"object"}}}}}},"404":{"description":"No customer with that account number."},"503":{"description":"A required source is not connected."}}}},"/api/agent/renewals":{"get":{"operationId":"renewalsDue","summary":"What renewals are coming up?","description":"Weekly renewal planning, or an account manager asking what is on their desk. Returns: Contract lines due inside the window, nearest first, with value, notice period and owner.","parameters":[{"name":"days","in":"query","required":false,"description":"Window in days. Defaults to 90.","schema":{"type":"string"}},{"name":"owner","in":"query","required":false,"description":"Account manager name to filter by.","schema":{"type":"string"}}],"responses":{"200":{"description":"Contract lines due inside the window, nearest first, with value, notice period and owner.","content":{"application/json":{"schema":{"type":"object","properties":{"summary":{"type":"string","description":"A sentence answering the question."},"generatedAt":{"type":"string"},"caveats":{"type":"array","items":{"type":"string"}},"data":{"type":"object"}}}}}},"404":{"description":"No customer with that account number."},"503":{"description":"A required source is not connected."}}}},"/api/agent/maintenance-gaps":{"get":{"operationId":"maintenanceGaps","summary":"Where are we not billing maintenance?","description":"Looking for revenue already sitting in the estate rather than new business. Returns: Customers with in-service machines or software off contract, valued at standard rates.","parameters":[{"name":"minValue","in":"query","required":false,"description":"Only return customers above this annual value.","schema":{"type":"string"}},{"name":"owner","in":"query","required":false,"description":"Account manager name to filter by.","schema":{"type":"string"}}],"responses":{"200":{"description":"Customers with in-service machines or software off contract, valued at standard rates.","content":{"application/json":{"schema":{"type":"object","properties":{"summary":{"type":"string","description":"A sentence answering the question."},"generatedAt":{"type":"string"},"caveats":{"type":"array","items":{"type":"string"}},"data":{"type":"object"}}}}}},"404":{"description":"No customer with that account number."},"503":{"description":"A required source is not connected."}}}},"/api/agent/support-review":{"get":{"operationId":"supportReview","summary":"How has support performed for this customer?","description":"Preparing or running a service review. Returns: Call volume, response SLA against the 8-hour target, misses with hours over, and recurring problems by user and by device.","parameters":[{"name":"account","in":"query","required":true,"description":"DCS account number.","schema":{"type":"string"}},{"name":"months","in":"query","required":false,"description":"How far back to look. Defaults to 12.","schema":{"type":"string"}}],"responses":{"200":{"description":"Call volume, response SLA against the 8-hour target, misses with hours over, and recurring problems by user and by device.","content":{"application/json":{"schema":{"type":"object","properties":{"summary":{"type":"string","description":"A sentence answering the question."},"generatedAt":{"type":"string"},"caveats":{"type":"array","items":{"type":"string"}},"data":{"type":"object"}}}}}},"404":{"description":"No customer with that account number."},"503":{"description":"A required source is not connected."}}}},"/api/agent/pipeline-chase":{"get":{"operationId":"pipelineChase","summary":"What in my pipeline needs chasing?","description":"Monday morning, or a manager checking a patch is being worked. Returns: Open opportunities with no contact inside the window, with value, stage and last action.","parameters":[{"name":"owner","in":"query","required":false,"description":"Owner initials — AV, BR, BK or RH.","schema":{"type":"string"}},{"name":"quietDays","in":"query","required":false,"description":"Days without contact. Defaults to 21.","schema":{"type":"string"}}],"responses":{"200":{"description":"Open opportunities with no contact inside the window, with value, stage and last action.","content":{"application/json":{"schema":{"type":"object","properties":{"summary":{"type":"string","description":"A sentence answering the question."},"generatedAt":{"type":"string"},"caveats":{"type":"array","items":{"type":"string"}},"data":{"type":"object"}}}}}},"404":{"description":"No customer with that account number."},"503":{"description":"A required source is not connected."}}}},"/api/agent/equipment":{"get":{"operationId":"equipmentAudit","summary":"What equipment does this customer have?","description":"A customer asks for an audit, or a refresh conversation needs evidence. Returns: In-service machines with age, warranty, operating system and contract cover.","parameters":[{"name":"account","in":"query","required":true,"description":"DCS account number.","schema":{"type":"string"}},{"name":"filter","in":"query","required":false,"description":"One of: all, out-of-warranty, beyond-life, off-contract.","schema":{"type":"string"}}],"responses":{"200":{"description":"In-service machines with age, warranty, operating system and contract cover.","content":{"application/json":{"schema":{"type":"object","properties":{"summary":{"type":"string","description":"A sentence answering the question."},"generatedAt":{"type":"string"},"caveats":{"type":"array","items":{"type":"string"}},"data":{"type":"object"}}}}}},"404":{"description":"No customer with that account number."},"503":{"description":"A required source is not connected."}}}}}}