canonical: https://jentic.com/apis/azure.com/azure-signalrmanagementclient

# Microsoft Azure SignalRManagementClient

Jentic publishes the only available OpenAPI specification for SignalRManagementClient, keeping it validated and agent-ready. The Azure SignalR Service management API exposes the Microsoft.SignalRService resource provider so agents can provision SignalR resources, switch SKUs and unit counts, restart instances, list and rotate access keys, and check name availability and per-region usage. SignalR Service powers real-time WebSocket and long-poll messaging for ASP.NET Core SignalR and serverless event push scenarios - this API manages the resource itself, not the runtime hub messages.

## For AI agents

Provision Azure SignalR Service instances, change SKU and unit counts, restart resources, and rotate access keys through the Azure control plane.

## Scope

Does not send hub messages, manage individual client connections, or run group operations - use for SignalR resource provisioning, scaling, and key rotation only.

## Capabilities

- Provision a SignalR Service resource with a chosen SKU tier and unit count
- Scale a SignalR resource up or down by changing units or SKU
- Restart a SignalR resource without recreating it
- List the primary and secondary access keys for a SignalR resource
- Regenerate the primary or secondary access key in place
- Check whether a proposed SignalR resource name is available in a region
- Read SignalR usage and quota state for a region

## Use cases

### Real-time Backend Provisioning

Application teams provision Azure SignalR Service as the WebSocket backend for chat, dashboards, and collaborative tools. The signalR resource endpoint accepts the SKU (Free or Standard), unit count, and feature flags, so an agent can provision and tune the service to match expected concurrent connections without using the Azure portal.

Example prompt: PUT /.../signalR/{resourceName} with sku.name Standard_S1, sku.capacity 5, and location westeurope

### Access Key Rotation

Security teams rotate SignalR access keys regularly to limit blast radius if a connection string leaks. The regenerateKey endpoint regenerates either the primary or secondary key in place and the listKeys endpoint returns the new connection strings, so an agent can update dependent clients and a secrets vault in one flow.

Example prompt: POST /.../signalR/{resourceName}/regenerateKey with keyType Primary, then call listKeys and store the new primaryConnectionString in the secrets manager

### Capacity Scaling for Events

Engineering teams scale SignalR units ahead of a traffic spike like a product launch or live event. PATCH-ing the resource to a higher sku.capacity adds capacity without dropping existing connections, and the same call dropped back down after the event keeps cost in check, all driven by an agent rather than a manual portal change.

Example prompt: PATCH /.../signalR/{resourceName} setting sku.capacity to 10 ahead of the event, then back to 5 once it ends

### AI Agent Realtime Setup

An agent built on Jentic stands up a SignalR backend for a developer who asks for real-time updates in their app. The agent checks name availability, provisions the resource, returns the connection string from listKeys, and reports the chosen SKU and capacity - without the developer touching the Azure portal.

Example prompt: Search Jentic for create azure signalr resource, load the schema, PUT the resource, and call listKeys to return the connection string

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| PUT | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName} | Create or update a SignalR resource |
| PATCH | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName} | Update SKU, capacity, or settings on an existing SignalR resource |
| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/listKeys | List SignalR primary and secondary access keys |
| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/regenerateKey | Regenerate primary or secondary access key |
| POST | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/restart | Restart a SignalR resource |
| POST | /subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/checkNameAvailability | Check whether a SignalR resource name is available in a region |

## Key resources

- **signalR (resource)** — Provision, scale, restart, and delete SignalR Service resources
- **listKeys** — Read primary and secondary access keys and connection strings
- **regenerateKey** — Rotate primary or secondary access keys in place
- **checkNameAvailability** — Check whether a proposed SignalR resource name is available in a region
- **usages** — Read SignalR quota and current usage per region
- **operations** — List operations exposed by the Microsoft.SignalRService resource provider

## Why Jentic

- **Setup:** Wiring the Microsoft.SignalRService control plane by hand means registering an Azure AD app, running the OAuth2 token exchange, and polling the asyncOperation URL that a SignalR resource provision returns with 202. Through Jentic you install once, import SignalR Management from the API Directory, store the Azure AD service principal credential once, and your agent calls it.
- **Permission scoping:** SignalR puts the subscription, resource group, and resource name in the URL path (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/...), so a rule can pin your agent to one SignalR resource. You choose the operations it may call, so destructive ones like regenerateKey or deleting the resource are not included unless you add them.
- **Credential handling:** Your Azure AD service principal credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context, and neither do the connection strings returned by listKeys.
- **Discovery method:** Agents search Jentic by intent such as 'create an Azure SignalR resource' or 'scale SignalR units', and Jentic returns the matching Microsoft.SignalRService operation with its input schema so the agent calls the right endpoint without reading the ARM reference.

## Related APIs

- **Azure Relay** — Hybrid connections and WCF relays for tunneling traffic into private networks
- **Azure Service Bus** — Server-side messaging often paired with SignalR for backend event distribution
- **Azure Event Grid Management** — Event routing layer that can fan events into SignalR for serverless realtime

## FAQ

### Why is there no official OpenAPI spec for SignalRManagementClient?

Microsoft Azure does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call SignalRManagementClient via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the SignalR management API use?

It uses Azure AD OAuth 2.0 with the implicit flow against https://login.microsoftonline.com/common/oauth2/authorize and the user_impersonation scope. When called through Jentic, your AAD service principal credentials live in your Jentic One instance and only short-lived bearer tokens reach the agent.

### Can I send hub messages with this API?

No - this is the management control plane. To send messages to clients you use the SignalR Service REST API (data plane) or an ASP.NET Core SignalR Hub backed by the service. Use this API to provision the resource, then use the data plane endpoints scoped to <resourceName>.service.signalr.net for messaging.

### How do I rotate a SignalR access key?

POST to /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/SignalR/{resourceName}/regenerateKey with keyType set to Primary or Secondary, then call listKeys at the same resource path to retrieve the new connection strings.

### What are the rate limits for this API?

Azure Resource Manager throttles around 12,000 reads and 1,200 writes per hour per principal at subscription scope, surfaced via x-ms-ratelimit-remaining-subscription-reads and x-ms-ratelimit-remaining-subscription-writes headers. Provisioning a SignalR resource is async - the 202 response contains an asyncOperation URL to poll.

### How do I scale a SignalR resource through Jentic?

Search Jentic for scale azure signalr units, load the schema for PATCH /.../signalR/{resourceName}, and execute it with sku.capacity set to the new unit count. Active connections are preserved during the scaling operation. The Jentic Python SDK ships the search, load, execute pattern after pip install jentic.

### Is there a free SKU for SignalR?

Yes - the Free_F1 SKU is supported by this API and provides 20 concurrent connections and 20,000 messages per day. Use Standard_S1 with sku.capacity for production workloads where you need more connections and SLA coverage.

### Can I limit what my agent is allowed to do with the Microsoft Azure SignalR API?

Yes. Because you self-host Jentic One, your own rules decide which SignalR operations the agent may call and which Azure AD service principal credential it uses, so you can grant read-only actions like listKeys, checkNameAvailability, and usages while withholding destructive ones such as regenerateKey or deleting a resource. Since the subscription, resource group, and resource name sit in the URL path (/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}), you can pin the agent to a single SignalR resource. The credential stays in your instance and is injected only at execution time, so it never reaches the agent's prompt or logs.
