naftiko: 1.0.0-alpha2 info: label: Microsoft Graph Agreements API — Agreements description: 'Microsoft Graph Agreements API — Agreements. 6 operations. Lead operation: Microsoft Graph List all agreements. Self-contained Naftiko capability covering one Microsoft Graph business surface.' tags: - Microsoft Graph - Agreements created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_GRAPH_API_KEY: MICROSOFT_GRAPH_API_KEY capability: consumes: - type: http namespace: agreements-agreements baseUri: https://graph.microsoft.com/v1.0 description: Microsoft Graph Agreements API — Agreements business capability. Self-contained, no shared references. resources: - name: agreements path: /agreements operations: - name: listagreements method: GET description: Microsoft Graph List all agreements outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $orderby in: query type: array description: Order items by property values - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: createagreement method: POST description: Microsoft Graph Create a new agreement outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: agreements-$count path: /agreements/$count operations: - name: countagreements method: GET description: Microsoft Graph Count agreements outputRawFormat: json outputParameters: - name: result type: object value: $. - name: agreements-agreement-id path: /agreements/{agreement-id} operations: - name: getagreement method: GET description: Microsoft Graph Get an agreement by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $select in: query type: array description: Select properties to be returned - name: $expand in: query type: array description: Expand related entities - name: updateagreement method: PATCH description: Microsoft Graph Update an agreement outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteagreement method: DELETE description: Microsoft Graph Delete an agreement outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: If-Match in: header type: string description: ETag for optimistic concurrency control exposes: - type: rest namespace: agreements-agreements-rest port: 8080 description: REST adapter for Microsoft Graph Agreements API — Agreements. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/agreements name: agreements description: REST surface for agreements. operations: - method: GET name: listagreements description: Microsoft Graph List all agreements call: agreements-agreements.listagreements with: $orderby: rest.$orderby $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: POST name: createagreement description: Microsoft Graph Create a new agreement call: agreements-agreements.createagreement with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/agreements/count name: agreements-count description: REST surface for agreements-$count. operations: - method: GET name: countagreements description: Microsoft Graph Count agreements call: agreements-agreements.countagreements outputParameters: - type: object mapping: $. - path: /v1/agreements/{agreement-id} name: agreements-agreement-id description: REST surface for agreements-agreement-id. operations: - method: GET name: getagreement description: Microsoft Graph Get an agreement by ID call: agreements-agreements.getagreement with: $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PATCH name: updateagreement description: Microsoft Graph Update an agreement call: agreements-agreements.updateagreement with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteagreement description: Microsoft Graph Delete an agreement call: agreements-agreements.deleteagreement with: If-Match: rest.If-Match outputParameters: - type: object mapping: $. - type: mcp namespace: agreements-agreements-mcp port: 9090 transport: http description: MCP adapter for Microsoft Graph Agreements API — Agreements. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-graph-list-all-agreements description: Microsoft Graph List all agreements hints: readOnly: true destructive: false idempotent: true call: agreements-agreements.listagreements with: $orderby: tools.$orderby $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-create-new-agreement description: Microsoft Graph Create a new agreement hints: readOnly: false destructive: false idempotent: false call: agreements-agreements.createagreement with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-count-agreements description: Microsoft Graph Count agreements hints: readOnly: true destructive: false idempotent: true call: agreements-agreements.countagreements outputParameters: - type: object mapping: $. - name: microsoft-graph-get-agreement-id description: Microsoft Graph Get an agreement by ID hints: readOnly: true destructive: false idempotent: true call: agreements-agreements.getagreement with: $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-update-agreement description: Microsoft Graph Update an agreement hints: readOnly: false destructive: false idempotent: true call: agreements-agreements.updateagreement with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-delete-agreement description: Microsoft Graph Delete an agreement hints: readOnly: false destructive: true idempotent: true call: agreements-agreements.deleteagreement with: If-Match: tools.If-Match outputParameters: - type: object mapping: $.