Azure Web PubSub website screenshot

Azure Web PubSub

Azure Web PubSub is a fully-managed service that enables building real-time, two-way messaging applications using publish-subscribe patterns over WebSockets. It supports broadcasting messages to clients in groups, sending messages to specific connections or users, and integrating with serverless event handlers for scalable real-time experiences.

7 APIs 0 Features
MessagingPub-SubReal-TimeServerlessWebSockets

APIs

Azure Web PubSub Service REST API

Data plane REST API for sending messages to connections, groups, and users on a Web PubSub service instance. Supports broadcast operations, targeted message delivery, and managi...

Azure Web PubSub Client and Upstream Events

AsyncAPI 2.6 description of the Azure Web PubSub client WebSocket subprotocols (json.webpubsub.azure.v1 and json.reliable.webpubsub.azure.v1) and the CloudEvents 1.0 HTTP upstre...

Azure Web PubSub Management REST API

Control plane REST API for provisioning and managing Azure Web PubSub service instances. Supports creating, scaling, configuring, regenerating access keys, and deleting Web PubS...

Azure Web PubSub Hubs REST API

REST API for managing hub configurations within a Web PubSub instance. Hubs provide logical isolation for messaging and allow per-hub configuration of event handlers, anonymous ...

Azure Web PubSub for Socket.IO REST API

REST API for managing Azure Web PubSub for Socket.IO instances. Provides a fully managed Socket.IO server replacement that allows existing Socket.IO applications to scale to mil...

Azure Web PubSub Private Endpoint Connections REST API

REST API for managing private endpoint connections to a Web PubSub service instance. Enables secure, private connectivity from virtual networks to Web PubSub through Azure Priva...

Azure Web PubSub Shared Private Link Resources REST API

REST API for managing shared private link resources for a Web PubSub service. Enables outbound private connectivity from Web PubSub to other Azure resources such as Key Vault an...

Collections

Arazzo Workflows

Azure Web PubSub Check then Close Connection

Verify a connection exists before closing it, branching on whether it is present.

ARAZZO

Azure Web PubSub Direct Connection Message

Confirm a connection exists, then send a targeted message to just that connection.

ARAZZO

Azure Web PubSub Grant Permission then Send to User

Grant a connection a group permission, then deliver a message to that user.

ARAZZO

Azure Web PubSub Grant Permission if Missing

Check whether a connection already holds a permission, granting it only when absent.

ARAZZO

Azure Web PubSub Broadcast to Group if Active

Only broadcast to a group when it currently has connected members.

ARAZZO

Azure Web PubSub Warn Group and Tear Down

Broadcast a final warning to a group, then close every connection in that group.

ARAZZO

Azure Web PubSub Join Group, Send, then Leave

Add a connection to a group, broadcast a message to that group, then remove the connection.

ARAZZO

Azure Web PubSub Notify User if Online

Send a user a message only when they currently have at least one live connection.

ARAZZO

Azure Web PubSub Provision Client and Join Group

Mint a client token, add the connection to a group, and announce the join to that group.

ARAZZO

Azure Web PubSub Revoke Permission and Evict Connection

Revoke a connection's group permission, then forcibly close that connection.

ARAZZO

Azure Web PubSub Generate Token then Broadcast

Mint a client access token for a hub and immediately broadcast a message to every connection.

ARAZZO

Azure Web PubSub Onboard User to Group

Add a user to a group and welcome them with a targeted message in one flow.

ARAZZO

Pricing Plans

Rate Limits

FinOps

Event Specifications

Azure Web PubSub

Azure Web PubSub is a fully managed real-time messaging service from Microsoft Azure that lets clients exchange publish/subscribe messages over WebSockets without operating WebS...

ASYNCAPI

Resources

🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🌐
Portal
Portal
🔗
Website
Website
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🔑
Authentication
Authentication
💰
Pricing
Pricing
🔗
ServiceLevelAgreement
ServiceLevelAgreement
🟢
StatusPage
StatusPage
📰
Blog
Blog
💬
Support
Support
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
📝
Signup
Signup
🔗
Login
Login
📦
SDKs
SDKs
📦
SDK - JavaScript
SDK - JavaScript
📦
SDK - Python
SDK - Python
📦
SDK - .NET
SDK - .NET
📦
SDK - Java
SDK - Java
📦
SDK - Go
SDK - Go
🔧
CLI Tools
CLI Tools
📄
ChangeLog
ChangeLog
👥
GitHubOrganization
GitHubOrganization
👥
GitHub Samples
GitHub Samples
👥
StackOverflow
StackOverflow
🔗
Community
Community
💬
FAQ
FAQ
🔗
RateLimits
RateLimits

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Azure Web PubSub Service Data Plane REST API
  version: '2024-01-01'
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Hub
    type: folder
  items:
  - info:
      name: Broadcast a message to all connections in the hub
      type: http
    http:
      method: POST
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/:send
      params:
      - name: hub
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
      - name: excluded
        value: ''
        type: query
        description: Excluded connection Ids
      - name: filter
        value: ''
        type: query
        description: OData filter to limit recipients
      - name: messageTtlSeconds
        value: ''
        type: query
      body:
        type: json
        data: '{}'
    docs: Broadcast a message to all connections in the hub
  - info:
      name: Send message to a specific connection
      type: http
    http:
      method: POST
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/connections/:connectionId/:send
      params:
      - name: hub
        value: ''
        type: path
      - name: connectionId
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
      body:
        type: json
        data: '{}'
    docs: Send message to a specific connection
  - info:
      name: Send message to a group of connections
      type: http
    http:
      method: POST
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/groups/:group/:send
      params:
      - name: hub
        value: ''
        type: path
      - name: group
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
      - name: filter
        value: ''
        type: query
      body:
        type: json
        data: '{}'
    docs: Send message to a group of connections
  - info:
      name: Send message to a specific user
      type: http
    http:
      method: POST
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/users/:userId/:send
      params:
      - name: hub
        value: ''
        type: path
      - name: userId
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
      body:
        type: json
        data: '{}'
    docs: Send message to a specific user
  - info:
      name: Close a connection
      type: http
    http:
      method: DELETE
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/connections/:connectionId
      params:
      - name: hub
        value: ''
        type: path
      - name: connectionId
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
      - name: reason
        value: ''
        type: query
    docs: Close a connection
  - info:
      name: Check if a connection exists
      type: http
    http:
      method: HEAD
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/connections/:connectionId
      params:
      - name: hub
        value: ''
        type: path
      - name: connectionId
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
    docs: Check if a connection exists
  - info:
      name: Close all connections in the hub
      type: http
    http:
      method: POST
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/:closeConnections
      params:
      - name: hub
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
      - name: excluded
        value: ''
        type: query
      - name: reason
        value: ''
        type: query
    docs: Close all connections in the hub
  - info:
      name: Close connections in a group
      type: http
    http:
      method: POST
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/groups/:group/:close
      params:
      - name: hub
        value: ''
        type: path
      - name: group
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
    docs: Close connections in a group
  - info:
      name: Close connections for a user
      type: http
    http:
      method: POST
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/users/:userId/:close
      params:
      - name: hub
        value: ''
        type: path
      - name: userId
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
    docs: Close connections for a user
  - info:
      name: Check if a group has any connections
      type: http
    http:
      method: HEAD
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/groups/:group
      params:
      - name: hub
        value: ''
        type: path
      - name: group
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
    docs: Check if a group has any connections
  - info:
      name: Check if a user has any connections
      type: http
    http:
      method: HEAD
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/users/:userId
      params:
      - name: hub
        value: ''
        type: path
      - name: userId
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
    docs: Check if a user has any connections
  - info:
      name: Add a connection to a group
      type: http
    http:
      method: PUT
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/groups/:group/connections/:connectionId
      params:
      - name: hub
        value: ''
        type: path
      - name: group
        value: ''
        type: path
      - name: connectionId
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
    docs: Add a connection to a group
  - info:
      name: Remove a connection from a group
      type: http
    http:
      method: DELETE
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/groups/:group/connections/:connectionId
      params:
      - name: hub
        value: ''
        type: path
      - name: group
        value: ''
        type: path
      - name: connectionId
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
    docs: Remove a connection from a group
  - info:
      name: Add a user to a group
      type: http
    http:
      method: PUT
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/groups/:group/users/:userId
      params:
      - name: hub
        value: ''
        type: path
      - name: group
        value: ''
        type: path
      - name: userId
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
    docs: Add a user to a group
  - info:
      name: Remove a user from a group
      type: http
    http:
      method: DELETE
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/groups/:group/users/:userId
      params:
      - name: hub
        value: ''
        type: path
      - name: group
        value: ''
        type: path
      - name: userId
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
    docs: Remove a user from a group
- info:
    name: Permission
    type: folder
  items:
  - info:
      name: Grant permission to a connection
      type: http
    http:
      method: PUT
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/permissions/:permission/connections/:connectionId
      params:
      - name: hub
        value: ''
        type: path
      - name: permission
        value: ''
        type: path
      - name: connectionId
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
      - name: targetName
        value: ''
        type: query
    docs: Grant permission to a connection
  - info:
      name: Revoke permission from a connection
      type: http
    http:
      method: DELETE
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/permissions/:permission/connections/:connectionId
      params:
      - name: hub
        value: ''
        type: path
      - name: permission
        value: ''
        type: path
      - name: connectionId
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
    docs: Revoke permission from a connection
  - info:
      name: Check connection permission
      type: http
    http:
      method: HEAD
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/permissions/:permission/connections/:connectionId
      params:
      - name: hub
        value: ''
        type: path
      - name: permission
        value: ''
        type: path
      - name: connectionId
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
    docs: Check connection permission
- info:
    name: ClientToken
    type: folder
  items:
  - info:
      name: Generate a client access token
      type: http
    http:
      method: POST
      url: https://{instance}.webpubsub.azure.com/api/hubs/:hub/:generateToken
      params:
      - name: hub
        value: ''
        type: path
      - name: api-version
        value: ''
        type: query
      - name: userId
        value: ''
        type: query
      - name: role
        value: ''
        type: query
      - name: minutesToExpire
        value: ''
        type: query
      - name: group
        value: ''
        type: query
    docs: Generate a client access token
bundled: true