swagger: '2.0' info: title: WebApps API Client AppServiceEnvironments Certificates API version: '2025-05-01' x-typespec-generated: - emitter: '@azure-tools/typespec-autorest' host: management.azure.com schemes: - https consumes: - application/json produces: - application/json security: - azure_auth: - user_impersonation tags: - name: Certificates paths: /subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates: get: operationId: Certificates_List tags: - Certificates summary: Get all certificates for a subscription. description: Description for Get all certificates for a subscription. parameters: - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter - name: $filter in: query description: 'Return only information specified in the filter (using OData syntax). For example: $filter=KeyVaultId eq ''KeyVaultId''' required: false type: string responses: '200': description: Azure operation completed successfully. schema: $ref: '#/definitions/CertificateCollection' default: description: An unexpected error response. schema: $ref: '#/definitions/DefaultErrorResponse' x-ms-examples: List Certificates for subscription: $ref: ./examples/ListCertificates.json x-ms-pageable: nextLinkName: nextLink /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates: get: operationId: Certificates_ListByResourceGroup tags: - Certificates summary: Get all certificates in a resource group. description: Description for Get all certificates in a resource group. parameters: - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter responses: '200': description: Azure operation completed successfully. schema: $ref: '#/definitions/CertificateCollection' default: description: An unexpected error response. schema: $ref: '#/definitions/DefaultErrorResponse' x-ms-examples: List Certificates by resource group: $ref: ./examples/ListCertificatesByResourceGroup.json x-ms-pageable: nextLinkName: nextLink /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}: get: operationId: Certificates_Get tags: - Certificates summary: Get a certificate. description: Description for Get a certificate. parameters: - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter - name: name in: path description: Name of the certificate. required: true type: string responses: '200': description: Azure operation completed successfully. schema: $ref: '#/definitions/Certificate' default: description: An unexpected error response. schema: $ref: '#/definitions/DefaultErrorResponse' x-ms-examples: Get Certificate: $ref: ./examples/GetCertificate.json put: operationId: Certificates_CreateOrUpdate tags: - Certificates summary: Create or update a certificate. description: Description for Create or update a certificate. parameters: - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter - name: name in: path description: Name of the certificate. required: true type: string - name: certificateEnvelope in: body description: Details of certificate, if it exists already. required: true schema: $ref: '#/definitions/Certificate' responses: '200': description: Resource 'Certificate' update operation succeeded schema: $ref: '#/definitions/Certificate' default: description: An unexpected error response. schema: $ref: '#/definitions/DefaultErrorResponse' x-ms-examples: Create Or Update Certificate: $ref: ./examples/CreateOrUpdateCertificate.json patch: operationId: Certificates_Update tags: - Certificates summary: Create or update a certificate. description: Description for Create or update a certificate. parameters: - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter - name: name in: path description: Name of the certificate. required: true type: string - name: certificateEnvelope in: body description: Details of certificate, if it exists already. required: true schema: $ref: '#/definitions/CertificatePatchResource' responses: '200': description: Azure operation completed successfully. schema: $ref: '#/definitions/Certificate' default: description: An unexpected error response. schema: $ref: '#/definitions/DefaultErrorResponse' x-ms-examples: Patch Certificate: $ref: ./examples/PatchCertificate.json delete: operationId: Certificates_Delete tags: - Certificates summary: Delete a certificate. description: Description for Delete a certificate. parameters: - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter - name: name in: path description: Name of the certificate. required: true type: string responses: '200': description: Resource deleted successfully. '204': description: Resource does not exist. default: description: An unexpected error response. schema: $ref: '#/definitions/DefaultErrorResponse' x-ms-examples: Delete Certificate: $ref: ./examples/DeleteCertificate.json definitions: KeyVaultSecretStatus: type: string description: Status of the Key Vault secret. enum: - Initialized - WaitingOnCertificateOrder - Succeeded - CertificateOrderFailed - OperationNotPermittedOnKeyVault - AzureServiceUnauthorizedToAccessKeyVault - KeyVaultDoesNotExist - KeyVaultSecretDoesNotExist - UnknownError - ExternalPrivateKey - Unknown x-ms-enum: name: KeyVaultSecretStatus modelAsString: false DefaultErrorResponse: type: object description: App Service error response. properties: error: $ref: '#/definitions/DefaultErrorResponseError' description: Error model. readOnly: true HostingEnvironmentProfile: type: object description: Specification for an App Service Environment to use for this resource. properties: id: type: string description: Resource ID of the App Service Environment. name: type: string description: Name of the App Service Environment. readOnly: true type: type: string description: Resource type of the App Service Environment. readOnly: true CertificatePatchResource: type: object description: ARM resource for a certificate. properties: properties: $ref: '#/definitions/CertificatePatchResourceProperties' description: CertificatePatchResource resource specific properties x-ms-client-flatten: true allOf: - $ref: '#/definitions/ProxyOnlyResource' DefaultErrorResponseError: type: object description: Error model. properties: code: type: string description: Standardized string to programmatically identify the error. readOnly: true message: type: string description: Detailed error description and debugging information. readOnly: true target: type: string description: Detailed error description and debugging information. readOnly: true details: type: array items: $ref: '#/definitions/DefaultErrorResponseErrorDetailsItem' x-ms-identifiers: [] innererror: type: string description: More information to debug error. readOnly: true DefaultErrorResponseErrorDetailsItem: type: object description: Detailed errors. properties: code: type: string description: Standardized string to programmatically identify the error. readOnly: true message: type: string description: Detailed error description and debugging information. readOnly: true target: type: string description: Detailed error description and debugging information. readOnly: true CertificateCollection: type: object description: Collection of certificates. properties: value: type: array description: The Certificate items on this page items: $ref: '#/definitions/Certificate' nextLink: type: string format: uri description: The link to the next page of items required: - value Certificate: type: object description: SSL certificate for an app. properties: properties: $ref: '#/definitions/CertificateProperties' description: Certificate resource specific properties x-ms-client-flatten: true kind: type: string description: Kind of resource. If the resource is an app, you can refer to https://github.com/Azure/app-service-linux-docs/blob/master/Things_You_Should_Know/kind_property.md#app-service-resource-kind-reference for details supported values for kind. allOf: - $ref: ../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource ProxyOnlyResource: type: object description: Azure proxy only resource. This resource is not tracked by Azure Resource Manager. properties: id: type: string description: Resource Id. readOnly: true name: type: string description: Resource Name. readOnly: true kind: type: string description: Kind of resource. type: type: string description: Resource type. readOnly: true CertificatePatchResourceProperties: type: object description: CertificatePatchResource resource specific properties properties: password: type: string description: Certificate password. readOnly: true friendlyName: type: string description: Friendly name of the certificate. readOnly: true subjectName: type: string description: Subject name of the certificate. readOnly: true hostNames: type: array description: Host names the certificate applies to. items: type: string pfxBlob: type: string format: byte description: Pfx blob. siteName: type: string description: App name. readOnly: true selfLink: type: string description: Self link. readOnly: true issuer: type: string description: Certificate issuer. readOnly: true issueDate: type: string format: date-time description: Certificate issue Date. readOnly: true expirationDate: type: string format: date-time description: Certificate expiration date. readOnly: true thumbprint: type: string description: Certificate thumbprint. readOnly: true valid: type: boolean description: Is the certificate valid?. readOnly: true cerBlob: type: string format: byte description: Raw bytes of .cer file readOnly: true publicKeyHash: type: string description: Public key hash. readOnly: true hostingEnvironmentProfile: $ref: '#/definitions/HostingEnvironmentProfile' description: Specification for the App Service Environment to use for the certificate. readOnly: true keyVaultId: type: string description: Key Vault Csm resource Id. keyVaultSecretName: type: string description: Key Vault secret name. keyVaultSecretStatus: $ref: '#/definitions/KeyVaultSecretStatus' description: Status of the Key Vault secret. readOnly: true serverFarmId: type: string description: 'Resource ID of the associated App Service plan, formatted as: "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}".' canonicalName: type: string description: CNAME of the certificate to be issued via free certificate domainValidationMethod: type: string description: Method of domain validation for free cert CertificateProperties: type: object description: Certificate resource specific properties properties: password: type: string description: Certificate password. friendlyName: type: string description: Friendly name of the certificate. readOnly: true subjectName: type: string description: Subject name of the certificate. readOnly: true hostNames: type: array description: Host names the certificate applies to. items: type: string pfxBlob: type: string format: byte description: Pfx blob. siteName: type: string description: App name. readOnly: true selfLink: type: string description: Self link. readOnly: true issuer: type: string description: Certificate issuer. readOnly: true issueDate: type: string format: date-time description: Certificate issue Date. readOnly: true expirationDate: type: string format: date-time description: Certificate expiration date. readOnly: true thumbprint: type: string description: Certificate thumbprint. readOnly: true valid: type: boolean description: Is the certificate valid?. readOnly: true cerBlob: type: string format: byte description: Raw bytes of .cer file readOnly: true publicKeyHash: type: string description: Public key hash. readOnly: true hostingEnvironmentProfile: $ref: '#/definitions/HostingEnvironmentProfile' description: Specification for the App Service Environment to use for the certificate. readOnly: true keyVaultId: type: string format: arm-id description: Azure Key Vault Csm resource Id. x-ms-arm-id-details: allowedResources: - type: Microsoft.KeyVault/vaults keyVaultSecretName: type: string description: Azure Key Vault secret name. keyVaultSecretStatus: $ref: '#/definitions/KeyVaultSecretStatus' description: Status of the Key Vault secret. readOnly: true serverFarmId: type: string format: arm-id description: Resource ID of the associated App Service plan. x-ms-arm-id-details: allowedResources: - type: Microsoft.Web/serverfarms canonicalName: type: string description: CNAME of the certificate to be issued via free certificate domainValidationMethod: type: string description: Method of domain validation for free cert securityDefinitions: azure_auth: type: oauth2 description: Azure Active Directory OAuth2 Flow. flow: implicit authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize scopes: user_impersonation: impersonate your user account