# CommunicationIdentityClient API

> CommunicationIdentityClient API on Apizie: 9 endpoints (Exchanges a Teams Phone token for an ACS user access token., Get Teams Phone access assignment by object id., Creates or replaces a Teams Phone access assignment., Removes a Teams Phone access assignment., …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/cloud:azure-communication-identity/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `cloud:azure-communication-identity`
- Category: Cloud
- Status: byok
- Source: https://learn.microsoft.com/rest/api/azure/
- Page: https://apizie.tech/api/cloud/azure-communication-identity
- OpenAPI: https://apizie.tech/api/cloud/azure-communication-identity/openapi.json

Azure Communication Identity Service

## Endpoints

### Exchanges a Teams Phone token for an ACS user access token.
`POST https://apizie.tech/v1/cloud:azure-communication-identity/teams-extension-operations-exchange-token` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | yes | The communication resource, for example https://my-resource.communication.azure.com |
| api-version | string | no | The API version to use for this operation. |
| body | object | yes | JSON request body |

### Get Teams Phone access assignment by object id.
`GET https://apizie.tech/v1/cloud:azure-communication-identity/teams-extension-operations-get-assignment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | yes | The communication resource, for example https://my-resource.communication.azure.com |
| api-version | string | no | The API version to use for this operation. |
| tenantId | string | yes | Tenant Id we want to get the assignment for. |
| objectId | string | yes | Object Id we want to get the assignment for. |

### Creates or replaces a Teams Phone access assignment.
`POST https://apizie.tech/v1/cloud:azure-communication-identity/teams-extension-operations-upsert-assignment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | yes | The communication resource, for example https://my-resource.communication.azure.com |
| api-version | string | no | The API version to use for this operation. |
| tenantId | string | yes | Tenant Id we want to update the assignment for. |
| objectId | string | yes | Object Id we want to update the assignment for. |
| body | object | yes | JSON request body |

### Removes a Teams Phone access assignment.
`POST https://apizie.tech/v1/cloud:azure-communication-identity/teams-extension-operations-delete-assignment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | yes | The communication resource, for example https://my-resource.communication.azure.com |
| api-version | string | no | The API version to use for this operation. |
| tenantId | string | yes | Tenant Id we want to remove the assignment for. |
| objectId | string | yes | Object Id we want to remove the assignment for. |

### Create a new identity, and optionally, an access token.
`POST https://apizie.tech/v1/cloud:azure-communication-identity/identity-operations-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | yes | The communication resource, for example https://my-resource.communication.azure.com |
| api-version | string | no | The API version to use for this operation. |
| body | object | no | JSON request body |

### Delete the identity, revoke all tokens for the identity and delete all associated data.
`POST https://apizie.tech/v1/cloud:azure-communication-identity/identity-operations-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | yes | The communication resource, for example https://my-resource.communication.azure.com |
| api-version | string | no | The API version to use for this operation. |
| id | string | yes | Identifier of the identity to be deleted. |

### Issue a new token for an identity.
`POST https://apizie.tech/v1/cloud:azure-communication-identity/identity-operations-issue-access-token` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | yes | The communication resource, for example https://my-resource.communication.azure.com |
| api-version | string | no | The API version to use for this operation. |
| id | string | yes | Identifier of the identity to issue token for. |
| body | object | yes | JSON request body |

### Revoke all access tokens for the specific identity.
`POST https://apizie.tech/v1/cloud:azure-communication-identity/identity-operations-revoke-access-tokens` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | yes | The communication resource, for example https://my-resource.communication.azure.com |
| api-version | string | no | The API version to use for this operation. |
| id | string | yes | Identifier of the identity. |

### Exchange an Entra ID access token of a Teams user for a new Communication Identity access token with a…
`POST https://apizie.tech/v1/cloud:azure-communication-identity/teams-user-operations-exchange-teams-user-access-token` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| endpoint | string | yes | The communication resource, for example https://my-resource.communication.azure.com |
| api-version | string | no | The API version to use for this operation. |
| body | object | yes | JSON request body |

## Example
```
curl "https://apizie.tech/v1/cloud:azure-communication-identity/teams-extension-operations-exchange-token" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the CommunicationIdentityClient API?
Create a free Apizie key, then send POST https://apizie.tech/v1/cloud:azure-communication-identity/teams-extension-operations-exchange-token with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the CommunicationIdentityClient API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. CommunicationIdentityClient itself also needs your own key from azure.com.

### Can AI agents use the CommunicationIdentityClient API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key cloud:azure-communication-identity.

### What is the status of the CommunicationIdentityClient API?
Needs your own provider key (bring your own key)
