naftiko: 1.0.0-alpha2 info: label: Microsoft Graph Serviceprincipals — servicePrincipals.servicePrincipal.Actions description: 'Microsoft Graph Serviceprincipals — servicePrincipals.servicePrincipal.Actions. 13 operations. Lead operation: Microsoft Graph Invoke action getAvailableExtensionProperties. Self-contained Naftiko capability covering one Microsoft Graph business surface.' tags: - Microsoft Graph - servicePrincipals.servicePrincipal.Actions 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: serviceprincipals-serviceprincipals-serviceprincipal-actions baseUri: '' description: Microsoft Graph Serviceprincipals — servicePrincipals.servicePrincipal.Actions business capability. Self-contained, no shared references. resources: - name: servicePrincipals-getAvailableExtensionProperties path: /servicePrincipals/getAvailableExtensionProperties operations: - name: serviceprincipalsgetavailableextensionproperties method: POST description: Microsoft Graph Invoke action getAvailableExtensionProperties outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: servicePrincipals-getByIds path: /servicePrincipals/getByIds operations: - name: serviceprincipalsgetbyids method: POST description: Microsoft Graph Invoke action getByIds outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: servicePrincipals-validateProperties path: /servicePrincipals/validateProperties operations: - name: serviceprincipalsvalidateproperties method: POST description: Microsoft Graph Invoke action validateProperties outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: servicePrincipals-servicePrincipal-id-addKey path: /servicePrincipals/{servicePrincipal-id}/addKey operations: - name: serviceprincipalsserviceprincipaladdkey method: POST description: Microsoft Graph Invoke action addKey outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: servicePrincipals-servicePrincipal-id-addPassword path: /servicePrincipals/{servicePrincipal-id}/addPassword operations: - name: serviceprincipalsserviceprincipaladdpassword method: POST description: Microsoft Graph Invoke action addPassword outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: servicePrincipals-servicePrincipal-id-addTokenSigningCertificate path: /servicePrincipals/{servicePrincipal-id}/addTokenSigningCertificate operations: - name: serviceprincipalsserviceprincipaladdtokensigningcertificate method: POST description: Microsoft Graph Invoke action addTokenSigningCertificate outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: servicePrincipals-servicePrincipal-id-checkMemberGroups path: /servicePrincipals/{servicePrincipal-id}/checkMemberGroups operations: - name: serviceprincipalsserviceprincipalcheckmembergroups method: POST description: Microsoft Graph Invoke action checkMemberGroups outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: servicePrincipals-servicePrincipal-id-checkMemberObjects path: /servicePrincipals/{servicePrincipal-id}/checkMemberObjects operations: - name: serviceprincipalsserviceprincipalcheckmemberobjects method: POST description: Microsoft Graph Invoke action checkMemberObjects outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: servicePrincipals-servicePrincipal-id-getMemberGroups path: /servicePrincipals/{servicePrincipal-id}/getMemberGroups operations: - name: serviceprincipalsserviceprincipalgetmembergroups method: POST description: Microsoft Graph Invoke action getMemberGroups outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: servicePrincipals-servicePrincipal-id-getMemberObjects path: /servicePrincipals/{servicePrincipal-id}/getMemberObjects operations: - name: serviceprincipalsserviceprincipalgetmemberobjects method: POST description: Microsoft Graph Invoke action getMemberObjects outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: servicePrincipals-servicePrincipal-id-removeKey path: /servicePrincipals/{servicePrincipal-id}/removeKey operations: - name: serviceprincipalsserviceprincipalremovekey method: POST description: Microsoft Graph Invoke action removeKey outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: servicePrincipals-servicePrincipal-id-removePassword path: /servicePrincipals/{servicePrincipal-id}/removePassword operations: - name: serviceprincipalsserviceprincipalremovepassword method: POST description: Microsoft Graph Invoke action removePassword outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: servicePrincipals-servicePrincipal-id-restore path: /servicePrincipals/{servicePrincipal-id}/restore operations: - name: serviceprincipalsserviceprincipalrestore method: POST description: Microsoft Graph Invoke action restore outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: serviceprincipals-serviceprincipals-serviceprincipal-actions-rest port: 8080 description: REST adapter for Microsoft Graph Serviceprincipals — servicePrincipals.servicePrincipal.Actions. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/serviceprincipals/getavailableextensionproperties name: serviceprincipals-getavailableextensionproperties description: REST surface for servicePrincipals-getAvailableExtensionProperties. operations: - method: POST name: serviceprincipalsgetavailableextensionproperties description: Microsoft Graph Invoke action getAvailableExtensionProperties call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsgetavailableextensionproperties with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/serviceprincipals/getbyids name: serviceprincipals-getbyids description: REST surface for servicePrincipals-getByIds. operations: - method: POST name: serviceprincipalsgetbyids description: Microsoft Graph Invoke action getByIds call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsgetbyids with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/serviceprincipals/validateproperties name: serviceprincipals-validateproperties description: REST surface for servicePrincipals-validateProperties. operations: - method: POST name: serviceprincipalsvalidateproperties description: Microsoft Graph Invoke action validateProperties call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsvalidateproperties with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/serviceprincipals/{serviceprincipal-id}/addkey name: serviceprincipals-serviceprincipal-id-addkey description: REST surface for servicePrincipals-servicePrincipal-id-addKey. operations: - method: POST name: serviceprincipalsserviceprincipaladdkey description: Microsoft Graph Invoke action addKey call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipaladdkey with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/serviceprincipals/{serviceprincipal-id}/addpassword name: serviceprincipals-serviceprincipal-id-addpassword description: REST surface for servicePrincipals-servicePrincipal-id-addPassword. operations: - method: POST name: serviceprincipalsserviceprincipaladdpassword description: Microsoft Graph Invoke action addPassword call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipaladdpassword with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/serviceprincipals/{serviceprincipal-id}/addtokensigningcertificate name: serviceprincipals-serviceprincipal-id-addtokensigningcertificate description: REST surface for servicePrincipals-servicePrincipal-id-addTokenSigningCertificate. operations: - method: POST name: serviceprincipalsserviceprincipaladdtokensigningcertificate description: Microsoft Graph Invoke action addTokenSigningCertificate call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipaladdtokensigningcertificate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/serviceprincipals/{serviceprincipal-id}/checkmembergroups name: serviceprincipals-serviceprincipal-id-checkmembergroups description: REST surface for servicePrincipals-servicePrincipal-id-checkMemberGroups. operations: - method: POST name: serviceprincipalsserviceprincipalcheckmembergroups description: Microsoft Graph Invoke action checkMemberGroups call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipalcheckmembergroups with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/serviceprincipals/{serviceprincipal-id}/checkmemberobjects name: serviceprincipals-serviceprincipal-id-checkmemberobjects description: REST surface for servicePrincipals-servicePrincipal-id-checkMemberObjects. operations: - method: POST name: serviceprincipalsserviceprincipalcheckmemberobjects description: Microsoft Graph Invoke action checkMemberObjects call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipalcheckmemberobjects with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/serviceprincipals/{serviceprincipal-id}/getmembergroups name: serviceprincipals-serviceprincipal-id-getmembergroups description: REST surface for servicePrincipals-servicePrincipal-id-getMemberGroups. operations: - method: POST name: serviceprincipalsserviceprincipalgetmembergroups description: Microsoft Graph Invoke action getMemberGroups call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipalgetmembergroups with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/serviceprincipals/{serviceprincipal-id}/getmemberobjects name: serviceprincipals-serviceprincipal-id-getmemberobjects description: REST surface for servicePrincipals-servicePrincipal-id-getMemberObjects. operations: - method: POST name: serviceprincipalsserviceprincipalgetmemberobjects description: Microsoft Graph Invoke action getMemberObjects call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipalgetmemberobjects with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/serviceprincipals/{serviceprincipal-id}/removekey name: serviceprincipals-serviceprincipal-id-removekey description: REST surface for servicePrincipals-servicePrincipal-id-removeKey. operations: - method: POST name: serviceprincipalsserviceprincipalremovekey description: Microsoft Graph Invoke action removeKey call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipalremovekey with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/serviceprincipals/{serviceprincipal-id}/removepassword name: serviceprincipals-serviceprincipal-id-removepassword description: REST surface for servicePrincipals-servicePrincipal-id-removePassword. operations: - method: POST name: serviceprincipalsserviceprincipalremovepassword description: Microsoft Graph Invoke action removePassword call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipalremovepassword with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/serviceprincipals/{serviceprincipal-id}/restore name: serviceprincipals-serviceprincipal-id-restore description: REST surface for servicePrincipals-servicePrincipal-id-restore. operations: - method: POST name: serviceprincipalsserviceprincipalrestore description: Microsoft Graph Invoke action restore call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipalrestore outputParameters: - type: object mapping: $. - type: mcp namespace: serviceprincipals-serviceprincipals-serviceprincipal-actions-mcp port: 9090 transport: http description: MCP adapter for Microsoft Graph Serviceprincipals — servicePrincipals.servicePrincipal.Actions. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-graph-invoke-action-getavailableextensionproperties description: Microsoft Graph Invoke action getAvailableExtensionProperties hints: readOnly: false destructive: false idempotent: false call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsgetavailableextensionproperties with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-action-getbyids description: Microsoft Graph Invoke action getByIds hints: readOnly: false destructive: false idempotent: false call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsgetbyids with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-action-validateproperties description: Microsoft Graph Invoke action validateProperties hints: readOnly: true destructive: false idempotent: false call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsvalidateproperties with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-action-addkey description: Microsoft Graph Invoke action addKey hints: readOnly: false destructive: false idempotent: false call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipaladdkey with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-action-addpassword description: Microsoft Graph Invoke action addPassword hints: readOnly: false destructive: false idempotent: false call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipaladdpassword with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-action-addtokensigningcertificate description: Microsoft Graph Invoke action addTokenSigningCertificate hints: readOnly: false destructive: false idempotent: false call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipaladdtokensigningcertificate with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-action-checkmembergroups description: Microsoft Graph Invoke action checkMemberGroups hints: readOnly: false destructive: false idempotent: false call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipalcheckmembergroups with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-action-checkmemberobjects description: Microsoft Graph Invoke action checkMemberObjects hints: readOnly: false destructive: false idempotent: false call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipalcheckmemberobjects with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-action-getmembergroups description: Microsoft Graph Invoke action getMemberGroups hints: readOnly: false destructive: false idempotent: false call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipalgetmembergroups with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-action-getmemberobjects description: Microsoft Graph Invoke action getMemberObjects hints: readOnly: false destructive: false idempotent: false call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipalgetmemberobjects with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-action-removekey description: Microsoft Graph Invoke action removeKey hints: readOnly: false destructive: false idempotent: false call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipalremovekey with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-action-removepassword description: Microsoft Graph Invoke action removePassword hints: readOnly: false destructive: false idempotent: false call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipalremovepassword with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-graph-invoke-action-restore description: Microsoft Graph Invoke action restore hints: readOnly: false destructive: false idempotent: false call: serviceprincipals-serviceprincipals-serviceprincipal-actions.serviceprincipalsserviceprincipalrestore outputParameters: - type: object mapping: $.