naftiko: 1.0.0-alpha2 info: label: Microsoft Graph Users — Users.presence description: 'Microsoft Graph Users — Users.presence. 8 operations. Lead operation: Microsoft Graph Get presence. Self-contained Naftiko capability covering one Microsoft Graph business surface.' tags: - Microsoft Graph - Users.presence 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: users-users-presence baseUri: '' description: Microsoft Graph Users — Users.presence business capability. Self-contained, no shared references. resources: - name: users-user-id-presence path: /users/{user-id}/presence operations: - name: usersgetpresence method: GET description: Microsoft Graph Get presence 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: usersupdatepresence method: PATCH description: Microsoft Graph Update the navigation property presence in users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: usersdeletepresence method: DELETE description: Microsoft Graph Delete navigation property presence for users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: If-Match in: header type: string description: ETag - name: users-user-id-presence-clearPresence path: /users/{user-id}/presence/clearPresence operations: - name: usersuserpresenceclearpresence method: POST description: Microsoft Graph Invoke action clearPresence outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: users-user-id-presence-clearUserPreferredPresence path: /users/{user-id}/presence/clearUserPreferredPresence operations: - name: usersuserpresenceclearuserpreferredpresence method: POST description: Microsoft Graph Invoke action clearUserPreferredPresence outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-user-id-presence-setPresence path: /users/{user-id}/presence/setPresence operations: - name: usersuserpresencesetpresence method: POST description: Microsoft Graph Invoke action setPresence outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: users-user-id-presence-setStatusMessage path: /users/{user-id}/presence/setStatusMessage operations: - name: usersuserpresencesetstatusmessage method: POST description: Microsoft Graph Invoke action setStatusMessage outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: users-user-id-presence-setUserPreferredPresence path: /users/{user-id}/presence/setUserPreferredPresence operations: - name: usersuserpresencesetuserpreferredpresence method: POST description: Microsoft Graph Invoke action setUserPreferredPresence outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true exposes: - type: rest namespace: users-users-presence-rest port: 8080 description: REST adapter for Microsoft Graph Users — Users.presence. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/users/{user-id}/presence name: users-user-id-presence description: REST surface for users-user-id-presence. operations: - method: GET name: usersgetpresence description: Microsoft Graph Get presence call: users-users-presence.usersgetpresence with: $select: rest.$select $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PATCH name: usersupdatepresence description: Microsoft Graph Update the navigation property presence in users call: users-users-presence.usersupdatepresence with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: usersdeletepresence description: Microsoft Graph Delete navigation property presence for users call: users-users-presence.usersdeletepresence with: If-Match: rest.If-Match outputParameters: - type: object mapping: $. - path: /v1/users/{user-id}/presence/clearpresence name: users-user-id-presence-clearpresence description: REST surface for users-user-id-presence-clearPresence. operations: - method: POST name: usersuserpresenceclearpresence description: Microsoft Graph Invoke action clearPresence call: users-users-presence.usersuserpresenceclearpresence with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/users/{user-id}/presence/clearuserpreferredpresence name: users-user-id-presence-clearuserpreferredpresence description: REST surface for users-user-id-presence-clearUserPreferredPresence. operations: - method: POST name: usersuserpresenceclearuserpreferredpresence description: Microsoft Graph Invoke action clearUserPreferredPresence call: users-users-presence.usersuserpresenceclearuserpreferredpresence outputParameters: - type: object mapping: $. - path: /v1/users/{user-id}/presence/setpresence name: users-user-id-presence-setpresence description: REST surface for users-user-id-presence-setPresence. operations: - method: POST name: usersuserpresencesetpresence description: Microsoft Graph Invoke action setPresence call: users-users-presence.usersuserpresencesetpresence with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/users/{user-id}/presence/setstatusmessage name: users-user-id-presence-setstatusmessage description: REST surface for users-user-id-presence-setStatusMessage. operations: - method: POST name: usersuserpresencesetstatusmessage description: Microsoft Graph Invoke action setStatusMessage call: users-users-presence.usersuserpresencesetstatusmessage with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/users/{user-id}/presence/setuserpreferredpresence name: users-user-id-presence-setuserpreferredpresence description: REST surface for users-user-id-presence-setUserPreferredPresence. operations: - method: POST name: usersuserpresencesetuserpreferredpresence description: Microsoft Graph Invoke action setUserPreferredPresence call: users-users-presence.usersuserpresencesetuserpreferredpresence with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: users-users-presence-mcp port: 9090 transport: http description: MCP adapter for Microsoft Graph Users — Users.presence. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-graph-get-presence description: Microsoft Graph Get presence hints: readOnly: true destructive: false idempotent: true call: users-users-presence.usersgetpresence with: $select: tools.$select $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-graph-update-navigation-property description: Microsoft Graph Update the navigation property presence in users hints: readOnly: false destructive: false idempotent: true call: users-users-presence.usersupdatepresence with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-delete-navigation-property description: Microsoft Graph Delete navigation property presence for users hints: readOnly: false destructive: true idempotent: true call: users-users-presence.usersdeletepresence with: If-Match: tools.If-Match outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-action-clearpresence description: Microsoft Graph Invoke action clearPresence hints: readOnly: false destructive: false idempotent: false call: users-users-presence.usersuserpresenceclearpresence with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-action-clearuserpreferredpresence description: Microsoft Graph Invoke action clearUserPreferredPresence hints: readOnly: false destructive: false idempotent: false call: users-users-presence.usersuserpresenceclearuserpreferredpresence outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-action-setpresence description: Microsoft Graph Invoke action setPresence hints: readOnly: false destructive: false idempotent: false call: users-users-presence.usersuserpresencesetpresence with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-action-setstatusmessage description: Microsoft Graph Invoke action setStatusMessage hints: readOnly: false destructive: false idempotent: false call: users-users-presence.usersuserpresencesetstatusmessage with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-action-setuserpreferredpresence description: Microsoft Graph Invoke action setUserPreferredPresence hints: readOnly: false destructive: false idempotent: false call: users-users-presence.usersuserpresencesetuserpreferredpresence with: body: tools.body outputParameters: - type: object mapping: $.