naftiko: 1.0.0-alpha2 info: label: WebApps API Client description: 'WebApps API Client. 20 operations. Lead operation: Gets publishing user. Self-contained Naftiko capability covering one Microsoft Azure Functions business surface.' tags: - Microsoft Azure Functions created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_AZURE_FUNCTIONS_API_KEY: MICROSOFT_AZURE_FUNCTIONS_API_KEY capability: consumes: - type: http namespace: azure-functions-management-general baseUri: https://management.azure.com description: WebApps API Client business capability. Self-contained, no shared references. resources: - name: providers-Microsoft.Web-publishingUsers-web path: /providers/Microsoft.Web/publishingUsers/web operations: - name: getpublishinguser method: GET description: Gets publishing user outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatepublishinguser method: PUT description: Updates publishing user outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: userDetails in: body type: string description: Details of publishing user required: true - name: providers-Microsoft.Web-sourcecontrols path: /providers/Microsoft.Web/sourcecontrols operations: - name: listsourcecontrols method: GET description: Gets the source controls available for Azure websites. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: providers-Microsoft.Web-sourcecontrols-sourceControlType path: /providers/Microsoft.Web/sourcecontrols/{sourceControlType} operations: - name: getsourcecontrol method: GET description: Gets source control token outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sourceControlType in: path type: string description: Type of source control required: true - name: updatesourcecontrol method: PUT description: Updates source control token outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sourceControlType in: path type: string description: Type of source control required: true - name: requestMessage in: body type: string description: Source control token information required: true - name: subscriptions-subscriptionId-providers-Microsoft.Web-aseRegions path: /subscriptions/{subscriptionId}/providers/Microsoft.Web/aseRegions operations: - name: listaseregions method: GET description: Get a list of available ASE regions and its supported Skus. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-providers-Microsoft.Web-billingMeters path: /subscriptions/{subscriptionId}/providers/Microsoft.Web/billingMeters operations: - name: listbillingmeters method: GET description: Gets a list of meters for a given location. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: billingLocation in: query type: string description: Azure Location of billable resource - name: osType in: query type: string description: App Service OS type meters used for - name: subscriptions-subscriptionId-providers-Microsoft.Web-checknameavailability path: /subscriptions/{subscriptionId}/providers/Microsoft.Web/checknameavailability operations: - name: checknameavailability method: POST description: Check if a resource name is available. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: request in: body type: string description: The request body required: true - name: subscriptions-subscriptionId-providers-Microsoft.Web-customhostnameSites path: /subscriptions/{subscriptionId}/providers/Microsoft.Web/customhostnameSites operations: - name: listcustomhostnamesites method: GET description: Get custom hostnames under this subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: hostname in: query type: string description: Specific hostname - name: subscriptions-subscriptionId-providers-Microsoft.Web-deploymentLocations path: /subscriptions/{subscriptionId}/providers/Microsoft.Web/deploymentLocations operations: - name: getsubscriptiondeploymentlocations method: GET description: Gets list of available geo regions plus ministamps outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-providers-Microsoft.Web-geoRegions path: /subscriptions/{subscriptionId}/providers/Microsoft.Web/geoRegions operations: - name: listgeoregions method: GET description: Get a list of available geographical regions. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sku in: query type: string description: Name of SKU used to filter the regions. - name: linuxWorkersEnabled in: query type: boolean description: Specify true if you want to filter to only regions that support Linux workers. - name: xenonWorkersEnabled in: query type: boolean description: Specify true if you want to filter to only regions that support Xenon workers. - name: linuxDynamicWorkersEnabled in: query type: boolean description: Specify true if you want to filter to only regions that support Linux Consumption Workers. - name: customModeWorkersEnabled in: query type: boolean description: Specify true if you want to filter to only regions that support App Service Plans with IsCustomMode set to true. - name: subscriptions-subscriptionId-providers-Microsoft.Web-listSitesAssignedToHostName path: /subscriptions/{subscriptionId}/providers/Microsoft.Web/listSitesAssignedToHostName operations: - name: listsiteidentifiersassignedtohostname method: POST description: List all apps that are assigned to a hostname. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: nameIdentifier in: body type: string description: The request body required: true - name: subscriptions-subscriptionId-providers-Microsoft.Web-locations-location-checknam path: /subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/checknameavailability operations: - name: regionalchecknameavailability method: POST description: Check if a resource name is available for DNL sites. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: request in: body type: string description: The request body required: true - name: subscriptions-subscriptionId-providers-Microsoft.Web-locations-location-usages path: /subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/usages operations: - name: getusagesinlocationlist method: GET description: Lists subscription core usages for all skus used in a location, for a given type of quota. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-providers-Microsoft.Web-premieraddonoffers path: /subscriptions/{subscriptionId}/providers/Microsoft.Web/premieraddonoffers operations: - name: listpremieraddonoffers method: GET description: List all premier add-on offers. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-providers-Microsoft.Web-skus path: /subscriptions/{subscriptionId}/providers/Microsoft.Web/skus operations: - name: listskus method: GET description: List all SKUs. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-providers-Microsoft.Web-verifyHostingEnvironmentVne path: /subscriptions/{subscriptionId}/providers/Microsoft.Web/verifyHostingEnvironmentVnet operations: - name: verifyhostingenvironmentvnet method: POST description: Verifies if this VNET is compatible with an App Service Environment by analyzing the Network Security Group rules. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: parameters in: body type: string description: The request body required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-moveResources path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources operations: - name: move method: POST description: Move resources between resource groups. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: moveResourceEnvelope in: body type: string description: Object that represents the resource to move. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validate operations: - name: validate method: POST description: Validate if a resource can be created. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: validateRequest in: body type: string description: Request with the resources to validate. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-validateMoveResour path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/validateMoveResources operations: - name: validatemove method: POST description: Validate whether a resource can be moved. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: moveResourceEnvelope in: body type: string description: Object that represents the resource to move. required: true exposes: - type: rest namespace: azure-functions-management-general-rest port: 8080 description: REST adapter for WebApps API Client. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/providers/microsoft-web/publishingusers/web name: providers-microsoft-web-publishingusers-web description: REST surface for providers-Microsoft.Web-publishingUsers-web. operations: - method: GET name: getpublishinguser description: Gets publishing user call: azure-functions-management-general.getpublishinguser outputParameters: - type: object mapping: $. - method: PUT name: updatepublishinguser description: Updates publishing user call: azure-functions-management-general.updatepublishinguser with: userDetails: rest.userDetails outputParameters: - type: object mapping: $. - path: /v1/providers/microsoft-web/sourcecontrols name: providers-microsoft-web-sourcecontrols description: REST surface for providers-Microsoft.Web-sourcecontrols. operations: - method: GET name: listsourcecontrols description: Gets the source controls available for Azure websites. call: azure-functions-management-general.listsourcecontrols outputParameters: - type: object mapping: $. - path: /v1/providers/microsoft-web/sourcecontrols/{sourcecontroltype} name: providers-microsoft-web-sourcecontrols-sourcecontroltype description: REST surface for providers-Microsoft.Web-sourcecontrols-sourceControlType. operations: - method: GET name: getsourcecontrol description: Gets source control token call: azure-functions-management-general.getsourcecontrol with: sourceControlType: rest.sourceControlType outputParameters: - type: object mapping: $. - method: PUT name: updatesourcecontrol description: Updates source control token call: azure-functions-management-general.updatesourcecontrol with: sourceControlType: rest.sourceControlType requestMessage: rest.requestMessage outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-web/aseregions name: subscriptions-subscriptionid-providers-microsoft-web-aseregions description: REST surface for subscriptions-subscriptionId-providers-Microsoft.Web-aseRegions. operations: - method: GET name: listaseregions description: Get a list of available ASE regions and its supported Skus. call: azure-functions-management-general.listaseregions outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-web/billingmeters name: subscriptions-subscriptionid-providers-microsoft-web-billingmeters description: REST surface for subscriptions-subscriptionId-providers-Microsoft.Web-billingMeters. operations: - method: GET name: listbillingmeters description: Gets a list of meters for a given location. call: azure-functions-management-general.listbillingmeters with: billingLocation: rest.billingLocation osType: rest.osType outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-web/checknameavailability name: subscriptions-subscriptionid-providers-microsoft-web-checknameavailability description: REST surface for subscriptions-subscriptionId-providers-Microsoft.Web-checknameavailability. operations: - method: POST name: checknameavailability description: Check if a resource name is available. call: azure-functions-management-general.checknameavailability with: request: rest.request outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-web/customhostnamesites name: subscriptions-subscriptionid-providers-microsoft-web-customhostnamesites description: REST surface for subscriptions-subscriptionId-providers-Microsoft.Web-customhostnameSites. operations: - method: GET name: listcustomhostnamesites description: Get custom hostnames under this subscription call: azure-functions-management-general.listcustomhostnamesites with: hostname: rest.hostname outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-web/deploymentlocations name: subscriptions-subscriptionid-providers-microsoft-web-deploymentlocations description: REST surface for subscriptions-subscriptionId-providers-Microsoft.Web-deploymentLocations. operations: - method: GET name: getsubscriptiondeploymentlocations description: Gets list of available geo regions plus ministamps call: azure-functions-management-general.getsubscriptiondeploymentlocations outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-web/georegions name: subscriptions-subscriptionid-providers-microsoft-web-georegions description: REST surface for subscriptions-subscriptionId-providers-Microsoft.Web-geoRegions. operations: - method: GET name: listgeoregions description: Get a list of available geographical regions. call: azure-functions-management-general.listgeoregions with: sku: rest.sku linuxWorkersEnabled: rest.linuxWorkersEnabled xenonWorkersEnabled: rest.xenonWorkersEnabled linuxDynamicWorkersEnabled: rest.linuxDynamicWorkersEnabled customModeWorkersEnabled: rest.customModeWorkersEnabled outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-web/listsitesassignedtohostname name: subscriptions-subscriptionid-providers-microsoft-web-listsitesassignedtohostname description: REST surface for subscriptions-subscriptionId-providers-Microsoft.Web-listSitesAssignedToHostName. operations: - method: POST name: listsiteidentifiersassignedtohostname description: List all apps that are assigned to a hostname. call: azure-functions-management-general.listsiteidentifiersassignedtohostname with: nameIdentifier: rest.nameIdentifier outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-web/locations/{location}/checknameavailability name: subscriptions-subscriptionid-providers-microsoft-web-locations-location-checknam description: REST surface for subscriptions-subscriptionId-providers-Microsoft.Web-locations-location-checknam. operations: - method: POST name: regionalchecknameavailability description: Check if a resource name is available for DNL sites. call: azure-functions-management-general.regionalchecknameavailability with: request: rest.request outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-web/locations/{location}/usages name: subscriptions-subscriptionid-providers-microsoft-web-locations-location-usages description: REST surface for subscriptions-subscriptionId-providers-Microsoft.Web-locations-location-usages. operations: - method: GET name: getusagesinlocationlist description: Lists subscription core usages for all skus used in a location, for a given type of quota. call: azure-functions-management-general.getusagesinlocationlist outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-web/premieraddonoffers name: subscriptions-subscriptionid-providers-microsoft-web-premieraddonoffers description: REST surface for subscriptions-subscriptionId-providers-Microsoft.Web-premieraddonoffers. operations: - method: GET name: listpremieraddonoffers description: List all premier add-on offers. call: azure-functions-management-general.listpremieraddonoffers outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-web/skus name: subscriptions-subscriptionid-providers-microsoft-web-skus description: REST surface for subscriptions-subscriptionId-providers-Microsoft.Web-skus. operations: - method: GET name: listskus description: List all SKUs. call: azure-functions-management-general.listskus outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-web/verifyhostingenvironmentvnet name: subscriptions-subscriptionid-providers-microsoft-web-verifyhostingenvironmentvne description: REST surface for subscriptions-subscriptionId-providers-Microsoft.Web-verifyHostingEnvironmentVne. operations: - method: POST name: verifyhostingenvironmentvnet description: Verifies if this VNET is compatible with an App Service Environment by analyzing the Network Security Group rules. call: azure-functions-management-general.verifyhostingenvironmentvnet with: parameters: rest.parameters outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/moveresources name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-moveresources description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-moveResources. operations: - method: POST name: move description: Move resources between resource groups. call: azure-functions-management-general.move with: moveResourceEnvelope: rest.moveResourceEnvelope outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-web/validate name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: validate description: Validate if a resource can be created. call: azure-functions-management-general.validate with: validateRequest: rest.validateRequest outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/validatemoveresources name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-validatemoveresour description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-validateMoveResour. operations: - method: POST name: validatemove description: Validate whether a resource can be moved. call: azure-functions-management-general.validatemove with: moveResourceEnvelope: rest.moveResourceEnvelope outputParameters: - type: object mapping: $. - type: mcp namespace: azure-functions-management-general-mcp port: 9090 transport: http description: MCP adapter for WebApps API Client. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: gets-publishing-user description: Gets publishing user hints: readOnly: true destructive: false idempotent: true call: azure-functions-management-general.getpublishinguser outputParameters: - type: object mapping: $. - name: updates-publishing-user description: Updates publishing user hints: readOnly: false destructive: false idempotent: true call: azure-functions-management-general.updatepublishinguser with: userDetails: tools.userDetails outputParameters: - type: object mapping: $. - name: gets-source-controls-available-azure description: Gets the source controls available for Azure websites. hints: readOnly: true destructive: false idempotent: true call: azure-functions-management-general.listsourcecontrols outputParameters: - type: object mapping: $. - name: gets-source-control-token description: Gets source control token hints: readOnly: true destructive: false idempotent: true call: azure-functions-management-general.getsourcecontrol with: sourceControlType: tools.sourceControlType outputParameters: - type: object mapping: $. - name: updates-source-control-token description: Updates source control token hints: readOnly: false destructive: false idempotent: true call: azure-functions-management-general.updatesourcecontrol with: sourceControlType: tools.sourceControlType requestMessage: tools.requestMessage outputParameters: - type: object mapping: $. - name: get-list-available-ase-regions description: Get a list of available ASE regions and its supported Skus. hints: readOnly: true destructive: false idempotent: true call: azure-functions-management-general.listaseregions outputParameters: - type: object mapping: $. - name: gets-list-meters-given-location description: Gets a list of meters for a given location. hints: readOnly: true destructive: false idempotent: true call: azure-functions-management-general.listbillingmeters with: billingLocation: tools.billingLocation osType: tools.osType outputParameters: - type: object mapping: $. - name: check-if-resource-name-is description: Check if a resource name is available. hints: readOnly: true destructive: false idempotent: false call: azure-functions-management-general.checknameavailability with: request: tools.request outputParameters: - type: object mapping: $. - name: get-custom-hostnames-under-this description: Get custom hostnames under this subscription hints: readOnly: true destructive: false idempotent: true call: azure-functions-management-general.listcustomhostnamesites with: hostname: tools.hostname outputParameters: - type: object mapping: $. - name: gets-list-available-geo-regions description: Gets list of available geo regions plus ministamps hints: readOnly: true destructive: false idempotent: true call: azure-functions-management-general.getsubscriptiondeploymentlocations outputParameters: - type: object mapping: $. - name: get-list-available-geographical-regions description: Get a list of available geographical regions. hints: readOnly: true destructive: false idempotent: true call: azure-functions-management-general.listgeoregions with: sku: tools.sku linuxWorkersEnabled: tools.linuxWorkersEnabled xenonWorkersEnabled: tools.xenonWorkersEnabled linuxDynamicWorkersEnabled: tools.linuxDynamicWorkersEnabled customModeWorkersEnabled: tools.customModeWorkersEnabled outputParameters: - type: object mapping: $. - name: list-all-apps-that-are description: List all apps that are assigned to a hostname. hints: readOnly: true destructive: false idempotent: false call: azure-functions-management-general.listsiteidentifiersassignedtohostname with: nameIdentifier: tools.nameIdentifier outputParameters: - type: object mapping: $. - name: check-if-resource-name-is-2 description: Check if a resource name is available for DNL sites. hints: readOnly: true destructive: false idempotent: false call: azure-functions-management-general.regionalchecknameavailability with: request: tools.request outputParameters: - type: object mapping: $. - name: lists-subscription-core-usages-all description: Lists subscription core usages for all skus used in a location, for a given type of quota. hints: readOnly: true destructive: false idempotent: true call: azure-functions-management-general.getusagesinlocationlist outputParameters: - type: object mapping: $. - name: list-all-premier-add-offers description: List all premier add-on offers. hints: readOnly: true destructive: false idempotent: true call: azure-functions-management-general.listpremieraddonoffers outputParameters: - type: object mapping: $. - name: list-all-skus description: List all SKUs. hints: readOnly: true destructive: false idempotent: true call: azure-functions-management-general.listskus outputParameters: - type: object mapping: $. - name: verifies-if-this-vnet-is description: Verifies if this VNET is compatible with an App Service Environment by analyzing the Network Security Group rules. hints: readOnly: false destructive: false idempotent: false call: azure-functions-management-general.verifyhostingenvironmentvnet with: parameters: tools.parameters outputParameters: - type: object mapping: $. - name: move-resources-between-resource-groups description: Move resources between resource groups. hints: readOnly: false destructive: false idempotent: false call: azure-functions-management-general.move with: moveResourceEnvelope: tools.moveResourceEnvelope outputParameters: - type: object mapping: $. - name: validate-if-resource-can-be description: Validate if a resource can be created. hints: readOnly: true destructive: false idempotent: false call: azure-functions-management-general.validate with: validateRequest: tools.validateRequest outputParameters: - type: object mapping: $. - name: validate-whether-resource-can-be description: Validate whether a resource can be moved. hints: readOnly: true destructive: false idempotent: false call: azure-functions-management-general.validatemove with: moveResourceEnvelope: tools.moveResourceEnvelope outputParameters: - type: object mapping: $.