Microsoft Azure Communication Services Communication Services API

The CommunicationServices API from Microsoft Azure Communication Services — 7 operation(s) for communicationservices.

GitHub OpenAPI

Operations 10

POST /subscriptions/{subscriptionId}/providers/Microsoft.Communication/checkNameAvailability Check Name Availability #
GET /subscriptions/{subscriptionId}/providers/Microsoft.Communication/communicationServices List By Subscription #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices List By Resource Group #
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName} Get #
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName} Create Or Update #
PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName} Update #
DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName} Delete #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}/linkNotificationHub Link Notification Hub #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}/listKeys List Keys #
POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}/regenerateKey Regenerate Key #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/microsoft-azure-communication-services:microsoft-azure-communication-services-communicationservices-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

microsoft-azure-communication-services-communicationservices-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Azure Management Communication Services API
  version: '2026-03-18'
  description: REST API for Email Services/Domains/SuppressionLists
  x-typespec-generated:
  - emitter: '@azure-tools/typespec-autorest'
servers:
- url: https://management.azure.com
security:
- azure_auth:
  - user_impersonation
tags:
- name: CommunicationServices
paths:
  /subscriptions/{subscriptionId}/providers/Microsoft.Communication/checkNameAvailability:
    post:
      operationId: CommunicationServices_CheckNameAvailability
      tags:
      - CommunicationServices
      summary: Check Name Availability
      description: Checks that the CommunicationService name is valid and is not already in use.
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckNameAvailabilityResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NameAvailabilityParameters'
        description: The request body
        required: true
  /subscriptions/{subscriptionId}/providers/Microsoft.Communication/communicationServices:
    get:
      operationId: CommunicationServices_ListBySubscription
      tags:
      - CommunicationServices
      summary: List By Subscription
      description: Handles requests to list all resources in a subscription.
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationServiceResourceList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-ms-pageable:
        nextLinkName: nextLink
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices:
    get:
      operationId: CommunicationServices_ListByResourceGroup
      tags:
      - CommunicationServices
      summary: List By Resource Group
      description: Handles requests to list all resources in a resource group.
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationServiceResourceList'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-ms-pageable:
        nextLinkName: nextLink
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}
  : get:
      operationId: CommunicationServices_Get
      tags:
      - CommunicationServices
      summary: Get
      description: Get the CommunicationService and its properties.
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - name: communicationServiceName
        in: path
        description: The name of the CommunicationService resource.
        required: true
        schema:
          type: string
          maxLength: 63
          minLength: 1
          pattern: ^[-\w]+$
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationServiceResource'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      operationId: CommunicationServices_CreateOrUpdate
      tags:
      - CommunicationServices
      summary: Create Or Update
      description: Create a new CommunicationService or update an existing CommunicationService.
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - name: communicationServiceName
        in: path
        description: The name of the CommunicationService resource.
        required: true
        schema:
          type: string
          maxLength: 63
          minLength: 1
          pattern: ^[-\w]+$
      responses:
        '200':
          description: Resource 'CommunicationServiceResource' update operation succeeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationServiceResource'
        '201':
          description: Resource 'CommunicationServiceResource' create operation succeeded
          headers:
            Azure-AsyncOperation:
              description: A link to the status monitor
              schema:
                type: string
            Retry-After:
              description: The Retry-After header can indicate how long the client should wait before polling the operation status.
              schema:
                type: integer
                format: int32
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationServiceResource'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-ms-long-running-operation-options:
        final-state-via: azure-async-operation
        final-state-schema: '#/definitions/CommunicationServiceResource'
      x-ms-long-running-operation: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommunicationServiceResource'
        description: Parameters for the create or update operation
        required: true
    patch:
      operationId: CommunicationServices_Update
      tags:
      - CommunicationServices
      summary: Update
      description: Operation to update an existing CommunicationService.
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - name: communicationServiceName
        in: path
        description: The name of the CommunicationService resource.
        required: true
        schema:
          type: string
          maxLength: 63
          minLength: 1
          pattern: ^[-\w]+$
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationServiceResource'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommunicationServiceResourceUpdate'
        description: Parameters for the update operation
        required: true
    delete:
      operationId: CommunicationServices_Delete
      tags:
      - CommunicationServices
      summary: Delete
      description: Operation to delete a CommunicationService.
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - name: communicationServiceName
        in: path
        description: The name of the CommunicationService resource.
        required: true
        schema:
          type: string
          maxLength: 63
          minLength: 1
          pattern: ^[-\w]+$
      responses:
        '200':
          description: Resource deleted successfully.
        '202':
          description: Resource deletion accepted.
          headers:
            Location:
              description: The Location header contains the URL where the status of the long running operation can be checked.
              schema:
                type: string
            Retry-After:
              description: The Retry-After header can indicate how long the client should wait before polling the operation status.
              schema:
                type: integer
                format: int32
        '204':
          description: Resource does not exist.
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-ms-long-running-operation-options:
        final-state-via: location
      x-ms-long-running-operation: true
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}/linkNotificationHub
  : post:
      operationId: CommunicationServices_LinkNotificationHub
      tags:
      - CommunicationServices
      summary: Link Notification Hub
      description: Links an Azure Notification Hub to this communication service.
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - name: communicationServiceName
        in: path
        description: The name of the CommunicationService resource.
        required: true
        schema:
          type: string
          maxLength: 63
          minLength: 1
          pattern: ^[-\w]+$
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkedNotificationHub'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LinkNotificationHubParameters'
        description: Parameters supplied to the operation.
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}/listKeys
  : post:
      operationId: CommunicationServices_ListKeys
      tags:
      - CommunicationServices
      summary: List Keys
      description: Get the access keys of the CommunicationService resource.
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - name: communicationServiceName
        in: path
        description: The name of the CommunicationService resource.
        required: true
        schema:
          type: string
          maxLength: 63
          minLength: 1
          pattern: ^[-\w]+$
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationServiceKeys'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Communication/communicationServices/{communicationServiceName}/regenerateKey
  : post:
      operationId: CommunicationServices_RegenerateKey
      tags:
      - CommunicationServices
      summary: Regenerate Key
      description: Regenerate CommunicationService access key. PrimaryKey and SecondaryKey cannot be regenerated at the same time.
      parameters:
      - $ref: '#/components/parameters/ApiVersionParameter'
      - $ref: '#/components/parameters/SubscriptionIdParameter'
      - $ref: '#/components/parameters/ResourceGroupNameParameter'
      - name: communicationServiceName
        in: path
        description: The name of the CommunicationService resource.
        required: true
        schema:
          type: string
          maxLength: 63
          minLength: 1
          pattern: ^[-\w]+$
      responses:
        '200':
          description: Azure operation completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationServiceKeys'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegenerateKeyParameters'
        description: Parameter that describes the Regenerate Key Operation.
        required: true
components:
  schemas:
    CommunicationServiceResourceList:
      type: object
      description: Object that includes an array of CommunicationServices and a possible link for next set.
      properties:
        value:
          type: array
          description: The CommunicationServiceResource items on this page
          items:
            $ref: '#/components/schemas/CommunicationServiceResource'
        nextLink:
          type: string
          format: uri
          description: The link to the next page of items
      required:
      - value
    DomainsResourceList:
      type: array
      description: List of email Domain resource Ids.
      items:
        type: string
    CommunicationServiceResource:
      type: object
      description: A class representing a CommunicationService resource.
      properties:
        properties:
          $ref: '#/components/schemas/CommunicationServiceProperties'
          description: The properties of the service.
          x-ms-client-flatten: true
        identity:
          $ref: '#/components/schemas/ManagedServiceIdentity'
          description: The managed service identities assigned to this resource.
          x-ms-mutability:
          - read
          - update
          - create
      allOf:
      - $ref: '#/components/schemas/TrackedResource'
    CheckNameAvailabilityResponse:
      type: object
      description: The check availability result.
      properties:
        nameAvailable:
          type: boolean
          description: Indicates if the resource name is available.
        reason:
          type: string
          description: The reason why the given name is not available.
          enum:
          - Invalid
          - AlreadyExists
          x-ms-enum:
            name: CheckNameAvailabilityReason
            modelAsString: true
        message:
          type: string
          description: Detailed reason why the given name is available.
    LinkNotificationHubParameters:
      type: object
      description: Description of an Azure Notification Hub to link to the communication service
      properties:
        resourceId:
          type: string
          description: The resource ID of the notification hub
        connectionString:
          type: string
          description: Connection string for the notification hub
      required:
      - resourceId
      - connectionString
    PublicNetworkAccess:
      type: string
      description: Allow, disallow, or let network security perimeter configuration control public network access to the protected resource. Value is optional but if passed in, it must be 'Enabled', 'Disabled' or 'SecuredByPerimeter'.
      enum:
      - Enabled
      - Disabled
      - SecuredByPerimeter
      x-ms-enum:
        name: PublicNetworkAccess
        modelAsString: true
        values:
        - value: Enabled
          description: Allows public network access to the resource
        - value: Disabled
          description: Disallows public network access to the resource
        - value: SecuredByPerimeter
          description: The network security perimeter configuration rules allow or disallow public network access to the resource. Requires an associated network security perimeter.
    TaggedResource:
      type: object
      description: An ARM resource with that can accept tags
      properties:
        tags:
          type: object
          description: Tags of the service which is a list of key value pairs that describe the resource.
          additionalProperties:
            type: string
          x-ms-mutability:
          - read
          - update
          - create
    LinkedNotificationHub:
      type: object
      description: A notification hub that has been linked to the communication service
      properties:
        resourceId:
          type: string
          description: The resource ID of the notification hub
    TrackedResource:
      type: object
      title: Tracked Resource
      description: The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'
      properties:
        tags:
          type: object
          description: Resource tags.
          additionalProperties:
            type: string
          x-ms-mutability:
          - read
          - create
          - update
        location:
          type: string
          description: The geo-location where the resource lives
          x-ms-mutability:
          - read
          - create
      required:
      - location
      allOf:
      - $ref: '#/components/schemas/Resource'
    CommunicationServiceResourceUpdate:
      type: object
      description: A class representing update parameters for CommunicationService resource.
      properties:
        properties:
          $ref: '#/components/schemas/CommunicationServiceUpdateProperties'
          description: The properties of the service.
          x-ms-client-flatten: true
        identity:
          $ref: '#/components/schemas/ManagedServiceIdentity'
          description: Managed service identity (system assigned and/or user assigned identities)
      allOf:
      - $ref: '#/components/schemas/TaggedResource'
    CommunicationServices_ProvisioningState:
      type: string
      description: Provisioning state of the resource.
      enum:
      - Unknown
      - Succeeded
      - Failed
      - Canceled
      - Running
      - Creating
      - Updating
      - Deleting
      - Moving
      x-ms-enum:
        name: CommunicationServices_ProvisioningState
        modelAsString: true
        values:
        - name: Unknown
          value: Unknown
          description: Unknown
        - name: Succeeded
          value: Succeeded
          description: Succeeded
        - name: Failed
          value: Failed
          description: Failed
        - name: Canceled
          value: Canceled
          description: Canceled
        - name: Running
          value: Running
          description: Running
        - name: Creating
          value: Creating
          description: Creating
        - name: Updating
          value: Updating
          description: Updating
        - name: Deleting
          value: Deleting
          description: Deleting
        - name: Moving
          value: Moving
          description: Moving
    ManagedServiceIdentity:
      type: object
      description: Managed service identity (system assigned and/or user assigned identities)
      properties:
        principalId:
          type: string
          format: uuid
          description: The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity.
          readOnly: true
        tenantId:
          type: string
          format: uuid
          description: The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity.
          readOnly: true
        type:
          $ref: '#/components/schemas/ManagedServiceIdentityType'
        userAssignedIdentities:
          type: object
          description: 'The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: ''/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.'
          additionalProperties:
            $ref: '#/components/schemas/UserAssignedIdentity'
      required:
      - type
    KeyType:
      type: string
      description: The keyType to regenerate. Must be either 'primary' or 'secondary'(case-insensitive).
      enum:
      - Primary
      - Secondary
      x-ms-enum:
        name: KeyType
        modelAsString: false
        values:
        - name: Primary
          value: Primary
          description: Primary
        - name: Secondary
          value: Secondary
          description: Secondary
    CommunicationServiceKeys:
      type: object
      description: A class representing the access keys of a CommunicationService.
      properties:
        primaryKey:
          type: string
          description: The primary access key.
        secondaryKey:
          type: string
          description: The secondary access key.
        primaryConnectionString:
          type: string
          description: CommunicationService connection string constructed via the primaryKey
        secondaryConnectionString:
          type: string
          description: CommunicationService connection string constructed via the secondaryKey
    ErrorResponse:
      type: object
      title: Error response
      description: Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
          description: The error object.
    CommunicationServiceUpdateProperties:
      type: object
      description: A class that describes the properties that can be updated for CommunicationService resource.
      properties:
        linkedDomains:
          $ref: '#/components/schemas/DomainsResourceList'
          description: List of email Domain resource Ids.
        publicNetworkAccess:
          $ref: '#/components/schemas/PublicNetworkAccess'
          description: Allow, disallow, or let network security perimeter configuration control public network access to the protected resource. Value is optional but if passed in, it must be 'Enabled', 'Disabled' or 'SecuredByPerimeter'.
        disableLocalAuth:
          type: boolean
          description: Disable local authentication for the CommunicationService.
          x-ms-mutability:
          - update
    RegenerateKeyParameters:
      type: object
      description: Parameters describes the request to regenerate access keys
      properties:
        keyType:
          $ref: '#/components/schemas/KeyType'
          description: The keyType to regenerate. Must be either 'primary' or 'secondary'(case-insensitive).
    NameAvailabilityParameters:
      type: object
      description: Data POST-ed to the nameAvailability action
      allOf:
      - $ref: '#/components/schemas/CheckNameAvailabilityRequest'
    CheckNameAvailabilityRequest:
      type: object
      description: The check availability request body.
      properties:
        name:
          type: string
          description: The name of the resource for which availability needs to be checked.
        type:
          type: string
          description: The resource type.
    CommunicationServiceProperties:
      type: object
      description: A class that describes the properties of the CommunicationService.
      properties:
        provisioningState:
          $ref: '#/components/schemas/CommunicationServices_ProvisioningState'
          description: Provisioning state of the resource.
          readOnly: true
        hostName:
          type: string
          description: FQDN of the CommunicationService instance.
          readOnly: true
        dataLocation:
          type: string
          description: The location where the communication service stores its data at rest.
          x-ms-mutability:
          - read
          - create
        notificationHubId:
          type: string
          description: Resource ID of an Azure Notification Hub linked to this resource.
          readOnly: true
        version:
          type: string
          description: Version of the CommunicationService resource. Probably you need the same or higher version of client SDKs.
          readOnly: true
        immutableResourceId:
          type: string
          description: The immutable resource Id of the communication service.
          readOnly: true
        linkedDomains:
          $ref: '#/components/schemas/DomainsResourceList'
          description: List of email Domain resource Ids.
        publicNetworkAccess:
          $ref: '#/components/schemas/PublicNetworkAccess'
          description: Allow, disallow, or let network security perimeter configuration control public network access to the protected resource. Value is optional but if passed in, it must be 'Enabled', 'Disabled' or 'SecuredByPerimeter'.
        disableLocalAuth:
          type: boolean
          description: Disable local authentication for the CommunicationService.
          x-ms-mutability:
          - read
          - update
          - create
      required:
      - dataLocation
  parameters:
    ResourceGroupNameParameter:
      name: resourceGroupName
      in: path
      description: The name of the resource group. The name is case insensitive.
      required: true
      x-ms-parameter-location: method
      schema:
        type: string
        maxLength: 90
        minLength: 1
    SubscriptionIdParameter:
      name: subscriptionId
      in: path
      description: The ID of the target subscription. The value must be an UUID.
      required: true
      schema:
        type: string
        format: uuid
    ApiVersionParameter:
      name: api-version
      in: query
      description: The API version to use for this operation.
      required: true
      schema:
        type: string
        minLength: 1
  securitySchemes:
    azure_auth:
      type: oauth2
      flows:
        implicit:
          scopes:
            user_impersonation: impersonate your user account
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
      description: Azure Active Directory OAuth2 Flow.