Azure Event Grid API

Azure Event Grid provides APIs for publishing events to custom topics, managing event subscriptions with filtering, and configuring event delivery to endpoints including webhooks, Azure Functions, Event Hubs, and Storage Queues. It supports dead-lettering, retry policies, and custom event schemas.

OpenAPI Specification

microsoft-azure-event-grid-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Azure Event Grid REST API
  description: Azure Event Grid is a serverless event routing service. The management REST API manages
    topics, domains, event subscriptions, and system topics.
  version: '2024-01-01'
externalDocs:
  description: Azure Event Grid REST API Documentation
  url: https://learn.microsoft.com/en-us/rest/api/eventgrid/
servers:
- url: https://management.azure.com
  description: Azure Resource Manager
tags:
- name: Topics
  description: Topics operations
- name: Domains
  description: Domains operations
- name: Event Subscriptions
  description: Event Subscriptions operations
- name: System Topics
  description: System Topics operations
- name: Operations
  description: Operations operations
security:
- azure_auth:
  - user_impersonation
paths:
  /providers/Microsoft.EventGrid/operations:
    get:
      operationId: listOperations
      summary: Azure Event Grid REST API List operations
      description: Lists all available REST API operations for Microsoft.EventGrid.
      tags:
      - Operations
      parameters:
      - $ref: '#/components/parameters/apiVersion'
      responses:
        '200':
          description: Operations list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationList'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topics:
    get:
      operationId: listTopicsBySubscription
      summary: Azure Event Grid REST API List by subscription
      description: Lists all topics resources within the specified subscription.
      tags:
      - Topics
      parameters:
      - $ref: '#/components/parameters/subscriptionId'
      - $ref: '#/components/parameters/apiVersion'
      responses:
        '200':
          description: Resource list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics:
    get:
      operationId: listTopicsByResourceGroup
      summary: Azure Event Grid REST API List by resource group
      description: Lists all topics resources within the specified resource group.
      tags:
      - Topics
      parameters:
      - $ref: '#/components/parameters/subscriptionId'
      - $ref: '#/components/parameters/resourceGroupName'
      - $ref: '#/components/parameters/apiVersion'
      responses:
        '200':
          description: Resource list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceList'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{name}:
    parameters:
    - $ref: '#/components/parameters/subscriptionId'
    - $ref: '#/components/parameters/resourceGroupName'
    - name: name
      in: path
      required: true
      description: Name of the resource.
      schema:
        type: string
    - $ref: '#/components/parameters/apiVersion'
    get:
      operationId: getTopics
      summary: Azure Event Grid REST API Get resource
      description: Gets a specific topics resource.
      tags:
      - Topics
      responses:
        '200':
          description: Resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '404':
          description: Not found
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      operationId: createOrUpdateTopics
      summary: Azure Event Grid REST API Create or update resource
      description: Creates or updates a topics resource.
      tags:
      - Topics
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Resource'
      responses:
        '200':
          description: Resource updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        '201':
          description: Resource created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    patch:
      operationId: updateTopics
      summary: Azure Event Grid REST API Update resource
      description: Updates a topics resource.
      tags:
      - Topics
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Resource updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      operationId: deleteTopics
      summary: Azure Event Grid REST API Delete resource
      description: Deletes a topics resource.
      tags:
      - Topics
      responses:
        '200':
          description: Resource deleted
        '202':
          description: Deletion accepted
        '204':
          description: Resource not found or already deleted
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    subscriptionId:
      name: subscriptionId
      in: path
      required: true
      description: The ID of the target subscription.
      schema:
        type: string
    resourceGroupName:
      name: resourceGroupName
      in: path
      required: true
      description: The name of the resource group.
      schema:
        type: string
    apiVersion:
      name: api-version
      in: query
      required: true
      description: The API version to use for this operation.
      schema:
        type: string
  schemas:
    Resource:
      type: object
      properties:
        id:
          type: string
          description: Resource ID.
        name:
          type: string
          description: Resource name.
        type:
          type: string
          description: Resource type.
        location:
          type: string
          description: Resource location.
        tags:
          type: object
          additionalProperties:
            type: string
        properties:
          type: object
          description: Resource-specific properties.
    ResourceList:
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/Resource'
        nextLink:
          type: string
          description: URL to the next page of results.
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            target:
              type: string
    Operation:
      type: object
      properties:
        name:
          type: string
        display:
          type: object
          properties:
            provider:
              type: string
            resource:
              type: string
            operation:
              type: string
            description:
              type: string
        isDataAction:
          type: boolean
    OperationList:
      type: object
      properties:
        value:
          type: array
          items:
            $ref: '#/components/schemas/Operation'
        nextLink:
          type: string
  securitySchemes:
    azure_auth:
      type: oauth2
      description: Azure Active Directory OAuth2 Flow.
      flows:
        implicit:
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
          scopes:
            user_impersonation: Impersonate your user account
x-generated-from: https://learn.microsoft.com/en-us/rest/api/eventgrid/
x-generated-by: claude-crawl-2026-05-08