naftiko: 1.0.0-alpha2 info: label: Microsoft Azure GraphRbacManagementClient — ServicePrincipalOwners description: 'Microsoft Azure GraphRbacManagementClient — ServicePrincipalOwners. 3 operations. Lead operation: Microsoft Azure Post Tenantid Serviceprincipals Objectid $links Owners. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - ServicePrincipalOwners created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_AZURE_API_KEY: MICROSOFT_AZURE_API_KEY capability: consumes: - type: http namespace: graphrbacmanagementclient-serviceprincipalowners baseUri: https://graph.windows.net description: Microsoft Azure GraphRbacManagementClient — ServicePrincipalOwners business capability. Self-contained, no shared references. resources: - name: tenantID-servicePrincipals-objectId-$links-owners path: /{tenantID}/servicePrincipals/{objectId}/$links/owners operations: - name: microsoftazureserviceprincipalsaddowner method: POST description: Microsoft Azure Post Tenantid Serviceprincipals Objectid $links Owners outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: objectId in: path type: string description: The object ID of the service principal to which to add the owner. required: true - name: parameters in: body type: string description: The URL of the owner object, such as https://graph.windows.net/0b1f9851-1bf0-433f-aec3-cb9272f093dc/directoryObjects/f260bbc4-c254-447b-94cf-293b5ec434dd. required: true - name: tenantID-servicePrincipals-objectId-$links-owners-ownerObjectId path: /{tenantID}/servicePrincipals/{objectId}/$links/owners/{ownerObjectId} operations: - name: microsoftazureserviceprincipalsremoveowner method: DELETE description: Microsoft Azure Delete Tenantid Serviceprincipals Objectid $links Owners Ownerobjectid outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: objectId in: path type: string description: The object ID of the service principal from which to remove the owner. required: true - name: ownerObjectId in: path type: string description: Owner object id required: true - name: tenantID-servicePrincipals-objectId-owners path: /{tenantID}/servicePrincipals/{objectId}/owners operations: - name: microsoftazureserviceprincipalslistowners method: GET description: Microsoft Azure Directory Objects That Are Owners Of This Service Principal outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: objectId in: path type: string description: The object ID of the service principal for which to get owners. required: true exposes: - type: rest namespace: graphrbacmanagementclient-serviceprincipalowners-rest port: 8080 description: REST adapter for Microsoft Azure GraphRbacManagementClient — ServicePrincipalOwners. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/{tenantid}/serviceprincipals/{objectid}/links/owners name: tenantid-serviceprincipals-objectid-links-owners description: REST surface for tenantID-servicePrincipals-objectId-$links-owners. operations: - method: POST name: microsoftazureserviceprincipalsaddowner description: Microsoft Azure Post Tenantid Serviceprincipals Objectid $links Owners call: graphrbacmanagementclient-serviceprincipalowners.microsoftazureserviceprincipalsaddowner with: objectId: rest.objectId parameters: rest.parameters outputParameters: - type: object mapping: $. - path: /v1/{tenantid}/serviceprincipals/{objectid}/links/owners/{ownerobjectid} name: tenantid-serviceprincipals-objectid-links-owners-ownerobjectid description: REST surface for tenantID-servicePrincipals-objectId-$links-owners-ownerObjectId. operations: - method: DELETE name: microsoftazureserviceprincipalsremoveowner description: Microsoft Azure Delete Tenantid Serviceprincipals Objectid $links Owners Ownerobjectid call: graphrbacmanagementclient-serviceprincipalowners.microsoftazureserviceprincipalsremoveowner with: objectId: rest.objectId ownerObjectId: rest.ownerObjectId outputParameters: - type: object mapping: $. - path: /v1/{tenantid}/serviceprincipals/{objectid}/owners name: tenantid-serviceprincipals-objectid-owners description: REST surface for tenantID-servicePrincipals-objectId-owners. operations: - method: GET name: microsoftazureserviceprincipalslistowners description: Microsoft Azure Directory Objects That Are Owners Of This Service Principal call: graphrbacmanagementclient-serviceprincipalowners.microsoftazureserviceprincipalslistowners with: objectId: rest.objectId outputParameters: - type: object mapping: $. - type: mcp namespace: graphrbacmanagementclient-serviceprincipalowners-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure GraphRbacManagementClient — ServicePrincipalOwners. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-post-tenantid-serviceprincipals description: Microsoft Azure Post Tenantid Serviceprincipals Objectid $links Owners hints: readOnly: false destructive: false idempotent: false call: graphrbacmanagementclient-serviceprincipalowners.microsoftazureserviceprincipalsaddowner with: objectId: tools.objectId parameters: tools.parameters outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-tenantid-serviceprincipals description: Microsoft Azure Delete Tenantid Serviceprincipals Objectid $links Owners Ownerobjectid hints: readOnly: false destructive: true idempotent: true call: graphrbacmanagementclient-serviceprincipalowners.microsoftazureserviceprincipalsremoveowner with: objectId: tools.objectId ownerObjectId: tools.ownerObjectId outputParameters: - type: object mapping: $. - name: microsoft-azure-directory-objects-that description: Microsoft Azure Directory Objects That Are Owners Of This Service Principal hints: readOnly: true destructive: false idempotent: true call: graphrbacmanagementclient-serviceprincipalowners.microsoftazureserviceprincipalslistowners with: objectId: tools.objectId outputParameters: - type: object mapping: $.