Azure Communication Services Identity API

Identity API: create communication identities and issue or revoke access tokens. 9 operations, data-plane version 2026-09-23, served from the customer's Communication Services resource endpoint.

GitHub OpenAPI

Operations 4

POST /identities Create a new identity, and optionally, an access token #
DELETE /identities/{id} Delete the identity, revoke all tokens for the identity and delete all… #
POST /identities/{id}/:issueAccessToken Issue a new token for an identity #
POST /identities/{id}/:revokeAccessTokens Revoke all access tokens for the specific identity #

Documentation

Specifications

Schemas & Data

Other Resources

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-identity-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-identity-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CommunicationIdentityClient Identity API
  version: '2026-09-23'
  description: Azure Communication Identity Service
  x-typespec-generated:
  - emitter: '@azure-tools/typespec-autorest'
tags:
- name: Identity
paths:
  /identities:
    post:
      operationId: IdentityOperations_Create
      tags:
      - Identity
      summary: Create a new identity, and optionally, an access token
      description: Create a new identity, and optionally, an access token.
      parameters:
      - $ref: '#/components/parameters/Azure.Core.Foundations.ApiVersionParameter'
      responses:
        '201':
          description: The request has succeeded and a new resource has been created as a result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationIdentityAccessTokenResult'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommunicationIdentityCreateRequest'
        description: If specified, creates also a Communication Identity access token associated with the identity and containing the requested scopes.
  /identities/{id}:
    delete:
      operationId: IdentityOperations_Delete
      tags:
      - Identity
      summary: Delete the identity, revoke all tokens for the identity and delete all…
      description: Delete the identity, revoke all tokens for the identity and delete all associated data.
      parameters:
      - $ref: '#/components/parameters/Azure.Core.Foundations.ApiVersionParameter'
      - name: id
        in: path
        description: Identifier of the identity to be deleted.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: 'There is no content to send for this request, but the headers may be useful. '
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationErrorResponse'
  /identities/{id}/:issueAccessToken:
    post:
      operationId: IdentityOperations_IssueAccessToken
      tags:
      - Identity
      summary: Issue a new token for an identity
      description: Issue a new token for an identity.
      parameters:
      - $ref: '#/components/parameters/Azure.Core.Foundations.ApiVersionParameter'
      - name: id
        in: path
        description: Identifier of the identity to issue token for.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationIdentityAccessToken'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CommunicationIdentityAccessTokenRequest'
        description: Requested scopes for the new token.
        required: true
  /identities/{id}/:revokeAccessTokens:
    post:
      operationId: IdentityOperations_RevokeAccessTokens
      tags:
      - Identity
      summary: Revoke all access tokens for the specific identity
      description: Revoke all access tokens for the specific identity.
      parameters:
      - $ref: '#/components/parameters/Azure.Core.Foundations.ApiVersionParameter'
      - name: id
        in: path
        description: Identifier of the identity.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: 'There is no content to send for this request, but the headers may be useful. '
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationErrorResponse'
components:
  schemas:
    CommunicationIdentity:
      type: object
      description: A communication identity.
      properties:
        id:
          type: string
          description: Identifier of the identity.
      required:
      - id
    CommunicationIdentityTokenScope:
      type: string
      description: List of scopes for an access token.
      enum:
      - chat
      - voip
      - chat.join
      - chat.join.limited
      - voip.join
      x-ms-enum:
        name: CommunicationIdentityTokenScope
        modelAsString: true
        values:
        - name: chat
          value: chat
          description: Use this for full access to Chat APIs.
        - name: voip
          value: voip
          description: Use this for full access to Calling APIs.
        - name: chatJoin
          value: chat.join
          description: Access to Chat APIs but without the authorization to create, delete or update chat threads.
        - name: chatJoinLimited
          value: chat.join.limited
          description: A more limited version of chat.join that doesn't allow to add or remove participants. Use this scope when the token bearer is not fully trusted, for example in guest scenarios.
        - name: voipJoin
          value: voip.join
          description: Access to Calling APIs but without the authorization to start new calls.
    CommunicationIdentityAccessTokenRequest:
      type: object
      description: Request to issue a new access token for an identity.
      properties:
        scopes:
          type: array
          description: List of scopes attached to the token.
          items:
            $ref: '#/components/schemas/CommunicationIdentityTokenScope'
        expiresInMinutes:
          type: integer
          format: int32
          description: Optional custom validity period of the token within [60,1440] minutes range. If not provided, the default value of 1440 minutes (24 hours) will be used.
          default: 1440
          minimum: 60
          maximum: 1440
      required:
      - scopes
    CommunicationIdentityAccessTokenResult:
      type: object
      description: A communication identity with access token.
      properties:
        identity:
          $ref: '#/components/schemas/CommunicationIdentity'
          description: The communication identity.
        accessToken:
          $ref: '#/components/schemas/CommunicationIdentityAccessToken'
          description: An access token.
      required:
      - identity
    CommunicationIdentityAccessToken:
      type: object
      description: An access token.
      properties:
        token:
          type: string
          description: The access token issued for the identity.
        expiresOn:
          type: string
          format: date-time
          description: The expiry time of the token.
      required:
      - token
      - expiresOn
    CommunicationErrorResponse:
      type: object
      description: The Communication Services error.
      properties:
        error:
          $ref: '#/components/schemas/CommunicationError'
          description: The Communication Services error.
      required:
      - error
    CommunicationIdentityCreateRequest:
      type: object
      description: Request to create a new identity with optional access token.
      properties:
        createTokenWithScopes:
          type: array
          description: Also create access token for the created identity.
          items:
            $ref: '#/components/schemas/CommunicationIdentityTokenScope'
        expiresInMinutes:
          type: integer
          format: int32
          description: Optional custom validity period of the token within [60,1440] minutes range. If not provided, the default value of 1440 minutes (24 hours) will be used.
          default: 1440
          minimum: 60
          maximum: 1440
    CommunicationError:
      type: object
      description: The Communication Services error.
      properties:
        code:
          type: string
          description: The error code.
        message:
          type: string
          description: The error message.
        target:
          type: string
          description: The error target.
          readOnly: true
        details:
          type: array
          description: Further details about specific errors that led to this error.
          items:
            $ref: '#/components/schemas/CommunicationError'
          readOnly: true
        innererror:
          $ref: '#/components/schemas/CommunicationError'
          description: The inner error if any.
          readOnly: true
          x-ms-client-name: innerError
      required:
      - code
      - message
  parameters:
    Azure.Core.Foundations.ApiVersionParameter:
      name: api-version
      in: query
      description: The API version to use for this operation.
      required: true
      x-ms-parameter-location: method
      x-ms-client-name: apiVersion
      schema:
        type: string
        minLength: 1
x-ms-parameterized-host:
  hostTemplate: '{endpoint}'
  useSchemePrefix: false
  parameters:
  - name: endpoint
    in: path
    description: The communication resource, for example https://my-resource.communication.azure.com
    required: true
    type: string
    format: uri
    x-ms-skip-url-encoding: true