naftiko: 1.0.0-alpha2 info: label: Microsoft Azure Face Client — Persongroups description: 'Microsoft Azure Face Client — Persongroups. 16 operations. Lead operation: Microsoft Azure Get Persongroups. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - Persongroups 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: face-client-persongroups baseUri: '' description: Microsoft Azure Face Client — Persongroups business capability. Self-contained, no shared references. resources: - name: persongroups path: /persongroups operations: - name: microsoftazurepersongrouplist method: GET description: Microsoft Azure Get Persongroups outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: start in: query type: string description: List person groups from the least personGroupId greater than the "start". - name: top in: query type: integer description: The number of person groups to list. - name: persongroups-personGroupId path: /persongroups/{personGroupId} operations: - name: microsoftazurepersongroupcreate method: PUT description: Microsoft Azure Put Persongroups Persongroupid outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string description: Request body for creating new person group. required: true - name: microsoftazurepersongroupdelete method: DELETE description: Microsoft Azure Delete Persongroups Persongroupid outputRawFormat: json outputParameters: - name: result type: object value: $. - name: microsoftazurepersongroupget method: GET description: Microsoft Azure Get Persongroups Persongroupid outputRawFormat: json outputParameters: - name: result type: object value: $. - name: microsoftazurepersongroupupdate method: PATCH description: Microsoft Azure Patch Persongroups Persongroupid outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string description: Request body for updating person group. required: true - name: persongroups-personGroupId-persons path: /persongroups/{personGroupId}/persons operations: - name: microsoftazurepersongrouppersoncreate method: POST description: Microsoft Azure Post Persongroups Persongroupid Persons outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string description: Request body for creating new person. required: true - name: microsoftazurepersongrouppersonlist method: GET description: Microsoft Azure Get Persongroups Persongroupid Persons outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: start in: query type: string description: Starting person id to return (used to list a range of persons). - name: top in: query type: integer description: Number of persons to return starting with the person id indicated by the 'start' parameter. - name: persongroups-personGroupId-persons-personId path: /persongroups/{personGroupId}/persons/{personId} operations: - name: microsoftazurepersongrouppersondelete method: DELETE description: Microsoft Azure Delete Persongroups Persongroupid Persons Personid outputRawFormat: json outputParameters: - name: result type: object value: $. - name: microsoftazurepersongrouppersonget method: GET description: Microsoft Azure Get Persongroups Persongroupid Persons Personid outputRawFormat: json outputParameters: - name: result type: object value: $. - name: microsoftazurepersongrouppersonupdate method: PATCH description: Microsoft Azure Patch Persongroups Persongroupid Persons Personid outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string description: Request body for person update operation. required: true - name: persongroups-personGroupId-persons-personId-persistedfaces path: /persongroups/{personGroupId}/persons/{personId}/persistedfaces operations: - name: microsoftazurepersongrouppersonaddfacefromurl method: POST description: Microsoft Azure Post Persongroups Persongroupid Persons Personid Persistedfaces outputRawFormat: json outputParameters: - name: result type: object value: $. - name: persongroups-personGroupId-persons-personId-persistedfaces-persistedFaceId path: /persongroups/{personGroupId}/persons/{personId}/persistedfaces/{persistedFaceId} operations: - name: microsoftazurepersongrouppersondeleteface method: DELETE description: Microsoft Azure Delete Persongroups Persongroupid Persons Personid Persistedfaces Persistedfaceid outputRawFormat: json outputParameters: - name: result type: object value: $. - name: microsoftazurepersongrouppersongetface method: GET description: Microsoft Azure Get Persongroups Persongroupid Persons Personid Persistedfaces Persistedfaceid outputRawFormat: json outputParameters: - name: result type: object value: $. - name: microsoftazurepersongrouppersonupdateface method: PATCH description: Microsoft Azure Patch Persongroups Persongroupid Persons Personid Persistedfaces Persistedfaceid outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string description: Request body for updating persisted face. required: true - name: persongroups-personGroupId-train path: /persongroups/{personGroupId}/train operations: - name: microsoftazurepersongrouptrain method: POST description: Microsoft Azure Post Persongroups Persongroupid Train outputRawFormat: json outputParameters: - name: result type: object value: $. - name: persongroups-personGroupId-training path: /persongroups/{personGroupId}/training operations: - name: microsoftazurepersongroupgettrainingstatus method: GET description: Microsoft Azure Get Persongroups Persongroupid Training outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: face-client-persongroups-rest port: 8080 description: REST adapter for Microsoft Azure Face Client — Persongroups. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/persongroups name: persongroups description: REST surface for persongroups. operations: - method: GET name: microsoftazurepersongrouplist description: Microsoft Azure Get Persongroups call: face-client-persongroups.microsoftazurepersongrouplist with: start: rest.start top: rest.top outputParameters: - type: object mapping: $. - path: /v1/persongroups/{persongroupid} name: persongroups-persongroupid description: REST surface for persongroups-personGroupId. operations: - method: PUT name: microsoftazurepersongroupcreate description: Microsoft Azure Put Persongroups Persongroupid call: face-client-persongroups.microsoftazurepersongroupcreate with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazurepersongroupdelete description: Microsoft Azure Delete Persongroups Persongroupid call: face-client-persongroups.microsoftazurepersongroupdelete outputParameters: - type: object mapping: $. - method: GET name: microsoftazurepersongroupget description: Microsoft Azure Get Persongroups Persongroupid call: face-client-persongroups.microsoftazurepersongroupget outputParameters: - type: object mapping: $. - method: PATCH name: microsoftazurepersongroupupdate description: Microsoft Azure Patch Persongroups Persongroupid call: face-client-persongroups.microsoftazurepersongroupupdate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/persongroups/{persongroupid}/persons name: persongroups-persongroupid-persons description: REST surface for persongroups-personGroupId-persons. operations: - method: POST name: microsoftazurepersongrouppersoncreate description: Microsoft Azure Post Persongroups Persongroupid Persons call: face-client-persongroups.microsoftazurepersongrouppersoncreate with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: microsoftazurepersongrouppersonlist description: Microsoft Azure Get Persongroups Persongroupid Persons call: face-client-persongroups.microsoftazurepersongrouppersonlist with: start: rest.start top: rest.top outputParameters: - type: object mapping: $. - path: /v1/persongroups/{persongroupid}/persons/{personid} name: persongroups-persongroupid-persons-personid description: REST surface for persongroups-personGroupId-persons-personId. operations: - method: DELETE name: microsoftazurepersongrouppersondelete description: Microsoft Azure Delete Persongroups Persongroupid Persons Personid call: face-client-persongroups.microsoftazurepersongrouppersondelete outputParameters: - type: object mapping: $. - method: GET name: microsoftazurepersongrouppersonget description: Microsoft Azure Get Persongroups Persongroupid Persons Personid call: face-client-persongroups.microsoftazurepersongrouppersonget outputParameters: - type: object mapping: $. - method: PATCH name: microsoftazurepersongrouppersonupdate description: Microsoft Azure Patch Persongroups Persongroupid Persons Personid call: face-client-persongroups.microsoftazurepersongrouppersonupdate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/persongroups/{persongroupid}/persons/{personid}/persistedfaces name: persongroups-persongroupid-persons-personid-persistedfaces description: REST surface for persongroups-personGroupId-persons-personId-persistedfaces. operations: - method: POST name: microsoftazurepersongrouppersonaddfacefromurl description: Microsoft Azure Post Persongroups Persongroupid Persons Personid Persistedfaces call: face-client-persongroups.microsoftazurepersongrouppersonaddfacefromurl outputParameters: - type: object mapping: $. - path: /v1/persongroups/{persongroupid}/persons/{personid}/persistedfaces/{persistedfaceid} name: persongroups-persongroupid-persons-personid-persistedfaces-persistedfaceid description: REST surface for persongroups-personGroupId-persons-personId-persistedfaces-persistedFaceId. operations: - method: DELETE name: microsoftazurepersongrouppersondeleteface description: Microsoft Azure Delete Persongroups Persongroupid Persons Personid Persistedfaces Persistedfaceid call: face-client-persongroups.microsoftazurepersongrouppersondeleteface outputParameters: - type: object mapping: $. - method: GET name: microsoftazurepersongrouppersongetface description: Microsoft Azure Get Persongroups Persongroupid Persons Personid Persistedfaces Persistedfaceid call: face-client-persongroups.microsoftazurepersongrouppersongetface outputParameters: - type: object mapping: $. - method: PATCH name: microsoftazurepersongrouppersonupdateface description: Microsoft Azure Patch Persongroups Persongroupid Persons Personid Persistedfaces Persistedfaceid call: face-client-persongroups.microsoftazurepersongrouppersonupdateface with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/persongroups/{persongroupid}/train name: persongroups-persongroupid-train description: REST surface for persongroups-personGroupId-train. operations: - method: POST name: microsoftazurepersongrouptrain description: Microsoft Azure Post Persongroups Persongroupid Train call: face-client-persongroups.microsoftazurepersongrouptrain outputParameters: - type: object mapping: $. - path: /v1/persongroups/{persongroupid}/training name: persongroups-persongroupid-training description: REST surface for persongroups-personGroupId-training. operations: - method: GET name: microsoftazurepersongroupgettrainingstatus description: Microsoft Azure Get Persongroups Persongroupid Training call: face-client-persongroups.microsoftazurepersongroupgettrainingstatus outputParameters: - type: object mapping: $. - type: mcp namespace: face-client-persongroups-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure Face Client — Persongroups. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-get-persongroups description: Microsoft Azure Get Persongroups hints: readOnly: true destructive: false idempotent: true call: face-client-persongroups.microsoftazurepersongrouplist with: start: tools.start top: tools.top outputParameters: - type: object mapping: $. - name: microsoft-azure-put-persongroups-persongroupid description: Microsoft Azure Put Persongroups Persongroupid hints: readOnly: false destructive: false idempotent: true call: face-client-persongroups.microsoftazurepersongroupcreate with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-persongroups-persongroupid description: Microsoft Azure Delete Persongroups Persongroupid hints: readOnly: false destructive: true idempotent: true call: face-client-persongroups.microsoftazurepersongroupdelete outputParameters: - type: object mapping: $. - name: microsoft-azure-get-persongroups-persongroupid description: Microsoft Azure Get Persongroups Persongroupid hints: readOnly: true destructive: false idempotent: true call: face-client-persongroups.microsoftazurepersongroupget outputParameters: - type: object mapping: $. - name: microsoft-azure-patch-persongroups-persongroupid description: Microsoft Azure Patch Persongroups Persongroupid hints: readOnly: false destructive: false idempotent: true call: face-client-persongroups.microsoftazurepersongroupupdate with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-azure-post-persongroups-persongroupid description: Microsoft Azure Post Persongroups Persongroupid Persons hints: readOnly: false destructive: false idempotent: false call: face-client-persongroups.microsoftazurepersongrouppersoncreate with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-azure-get-persongroups-persongroupid-2 description: Microsoft Azure Get Persongroups Persongroupid Persons hints: readOnly: true destructive: false idempotent: true call: face-client-persongroups.microsoftazurepersongrouppersonlist with: start: tools.start top: tools.top outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-persongroups-persongroupid-2 description: Microsoft Azure Delete Persongroups Persongroupid Persons Personid hints: readOnly: false destructive: true idempotent: true call: face-client-persongroups.microsoftazurepersongrouppersondelete outputParameters: - type: object mapping: $. - name: microsoft-azure-get-persongroups-persongroupid-3 description: Microsoft Azure Get Persongroups Persongroupid Persons Personid hints: readOnly: true destructive: false idempotent: true call: face-client-persongroups.microsoftazurepersongrouppersonget outputParameters: - type: object mapping: $. - name: microsoft-azure-patch-persongroups-persongroupid-2 description: Microsoft Azure Patch Persongroups Persongroupid Persons Personid hints: readOnly: false destructive: false idempotent: true call: face-client-persongroups.microsoftazurepersongrouppersonupdate with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-azure-post-persongroups-persongroupid-2 description: Microsoft Azure Post Persongroups Persongroupid Persons Personid Persistedfaces hints: readOnly: false destructive: false idempotent: false call: face-client-persongroups.microsoftazurepersongrouppersonaddfacefromurl outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-persongroups-persongroupid-3 description: Microsoft Azure Delete Persongroups Persongroupid Persons Personid Persistedfaces Persistedfaceid hints: readOnly: false destructive: true idempotent: true call: face-client-persongroups.microsoftazurepersongrouppersondeleteface outputParameters: - type: object mapping: $. - name: microsoft-azure-get-persongroups-persongroupid-4 description: Microsoft Azure Get Persongroups Persongroupid Persons Personid Persistedfaces Persistedfaceid hints: readOnly: true destructive: false idempotent: true call: face-client-persongroups.microsoftazurepersongrouppersongetface outputParameters: - type: object mapping: $. - name: microsoft-azure-patch-persongroups-persongroupid-3 description: Microsoft Azure Patch Persongroups Persongroupid Persons Personid Persistedfaces Persistedfaceid hints: readOnly: false destructive: false idempotent: true call: face-client-persongroups.microsoftazurepersongrouppersonupdateface with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-azure-post-persongroups-persongroupid-3 description: Microsoft Azure Post Persongroups Persongroupid Train hints: readOnly: false destructive: false idempotent: false call: face-client-persongroups.microsoftazurepersongrouptrain outputParameters: - type: object mapping: $. - name: microsoft-azure-get-persongroups-persongroupid-5 description: Microsoft Azure Get Persongroups Persongroupid Training hints: readOnly: true destructive: false idempotent: true call: face-client-persongroups.microsoftazurepersongroupgettrainingstatus outputParameters: - type: object mapping: $.