Extreme Networks Notification API

Push events/logs to users via Webhook, Email, SMS, etc.

OpenAPI Specification

extreme-networks-notification-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: ExtremeCloud IQ Account Notification API
  description: 'ExtremeCloud IQ™ API allows customers and partners to create solutions for the management, monitoring, and provisioning

    of any ExtremeCloud IQ™ environment.


    All related resources and documentation are available at [ExtremeCloud IQ Developer Portal](https://developer.extremecloudiq.com/).

    Please check [Get Started and Tutorial](https://developer.extremecloudiq.com/documentation/) to understand how to use the APIs.


    Get the [latest OpenAPI definition](https://github.com/extremenetworks/ExtremeCloudIQ-OpenAPI/blob/main/xcloudiq-openapi.yaml)

    from [ExtremeCloud IQ OpenAPI GitHub repository](https://github.com/extremenetworks/ExtremeCloudIQ-OpenAPI).


    Please have a valid [ExtremeCloud IQ](https://extremecloudiq.com/) account before getting started.

    If you don''t have one, please [register a new account](https://www.extremenetworks.com/cloud-networking/).'
  termsOfService: https://www.extremenetworks.com/company/legal/terms-of-use/
  contact:
    name: Extreme Networks Support
    url: https://www.extremenetworks.com/support
    email: support@extremenetworks.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: 25.9.0-36
servers:
- url: https://api.extremecloudiq.com
  description: ExtremeCloud IQ REST API Server
tags:
- name: Notification
  description: Push events/logs to users via Webhook, Email, SMS, etc.
paths:
  /subscriptions/webhook:
    get:
      tags:
      - Notification
      summary: List webhook subscriptions
      description: List all webhook subscriptions.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_list_webhook_subscriptions
      operationId: list
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PagedXiqWebhookSubscription'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    post:
      tags:
      - Notification
      summary: Create webhook subscriptions
      description: Create multiple webhook subscriptions.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_create_webhook_subscriptions
      operationId: createSubscriptions
      requestBody:
        description: The payload of create multiple webhook subscriptions
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/XiqCreateWebhookSubscriptionRequest'
        required: true
      responses:
        '202':
          description: Accepted
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /subscriptions/webhook/{id}:
    delete:
      tags:
      - Notification
      summary: Delete webhook subscription
      description: Delete an exist webhook subscription.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_webhook_subscriptions
      operationId: deleteSubscription
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '202':
          description: Accepted
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    put:
      tags:
      - Notification
      summary: Update webhook subscription by ID
      description: Update an existing webhook subscription by the specified ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_update_webhook_subscription
      operationId: updateSubscription
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        description: The payload to update webhook subscription
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqUpdateWebhookSubscriptionRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqWebhookSubscription'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /subscriptions/webhook/export:
    get:
      tags:
      - Notification
      summary: Export all webhook subscriptions
      description: Export all webhook subscriptions as a csv file.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_export_webhook_subscriptions
      operationId: exportToCsv
      parameters:
      - name: sortField
        in: query
        description: The field for sorting
        required: false
        schema:
          $ref: '#/components/schemas/XiqSortOrder'
      - name: keyword
        in: query
        description: The keyword to filter - user name, email
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/octet-stream:
              schema:
                type: string
                format: byte
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
components:
  schemas:
    XiqSubscriptionDataType:
      type: string
      description: The webhook subscription data type.
      enum:
      - LOCATION
      - AUDIT_LOG
      - GDPR_LOG
      - CREDENTIAL_LOG
      - ACCOUNTING_LOG
      - AUTHENTICATION_LOG
      - EMAIL_LOG
      - SMS_LOG
    XiqCreateWebhookSubscriptionRequest:
      type: object
      description: The payload to create webhook subscription
      required:
      - application
      - url
      - message_type
      properties:
        application:
          type: string
          description: The external application name.
        url:
          type: string
          description: The webhook endpoint URL.
        secret:
          type: string
          description: The basic auth secret for the webhook endpoint.
        message_type:
          $ref: '#/components/schemas/XiqSubscriptionMessageType'
    XiqUpdateWebhookSubscriptionRequest:
      type: object
      description: The payload to update webhook subscription
      required:
      - application
      - url
      - message_type
      - status
      properties:
        application:
          type: string
          description: The external application name.
        url:
          type: string
          description: The webhook endpoint URL.
        secret:
          type: string
          description: The basic auth secret for the webhook endpoint.
        message_type:
          $ref: '#/components/schemas/XiqSubscriptionMessageType'
          description: The API Subscriber message type e.g, "LOCATION_AP_CENTRIC" or "LOCATION_CLIENT_CENTRIC".
        status:
          $ref: '#/components/schemas/XiqSubscriptionStatus'
          description: The API Subscriber status e.g, "ENABLED" or "DISABLED".
    XiqError:
      type: object
      properties:
        error_code:
          type: string
          description: The error code
        error_id:
          type: string
          description: The error ID for internal troubleshooting
        error_message:
          type: string
          description: The error detailed message
        error_message_code:
          type: string
          description: The error message code
        error_message_description:
          type: string
          description: The error message description
        error_params:
          $ref: '#/components/schemas/XiqErrorParams'
      required:
      - error_code
      - error_id
      - error_message
    PagedXiqWebhookSubscription:
      allOf:
      - $ref: '#/components/schemas/XiqPage'
      - type: object
        properties:
          data:
            type: array
            description: The data in the current page
            items:
              $ref: '#/components/schemas/XiqWebhookSubscription'
    XiqWebhookSubscription:
      allOf:
      - $ref: '#/components/schemas/XiqBaseEntity'
      - type: object
        description: The webhook subscription data model
        required:
        - application
        - url
        - secret
        - data_type
        - message_type
        - status
        properties:
          application:
            type: string
            description: The external application name.
          url:
            type: string
            description: The webhook endpoint URL.
          secret:
            type: string
            description: The basic auth secret for the webhook endpoint.
          data_type:
            $ref: '#/components/schemas/XiqSubscriptionDataType'
          message_type:
            $ref: '#/components/schemas/XiqSubscriptionMessageType'
          status:
            $ref: '#/components/schemas/XiqSubscriptionStatus'
    XiqSubscriptionStatus:
      type: string
      description: The webhook subscription status.
      enum:
      - ENABLED
      - DISABLED
    XiqSortOrder:
      type: string
      enum:
      - ASC
      - DESC
    XiqErrorParams:
      type: object
      description: Error parameters
      properties:
        field:
          type: string
          description: The error field
        value:
          type: string
          description: The error value
    XiqSubscriptionMessageType:
      type: string
      description: The subscription message type.
      enum:
      - LOCATION_AP_CENTRIC
      - LOCATION_CLIENT_CENTRIC
      - AUDIT_LOG_ALL
      - GDPR_LOG_ALL
      - CREDENTIAL_LOG_ALL
      - ACCOUNTING_LOG_ALL
      - AUTHENTICATION_LOG_ALL
      - EMAIL_LOG_ALL
      - SMS_LOG_ALL
    XiqPage:
      required:
      - count
      - page
      - total_count
      - total_pages
      type: object
      properties:
        page:
          type: integer
          description: The current page number
          format: int32
        count:
          type: integer
          description: The element count of the current page
          format: int32
        total_pages:
          type: integer
          description: The total page number based on request page size
          format: int32
        total_count:
          type: integer
          description: The total element count
          format: int64
    XiqBaseEntity:
      required:
      - id
      - create_time
      - update_time
      type: object
      properties:
        id:
          type: integer
          description: The unique identifier
          format: int64
        create_time:
          type: string
          description: The create time
          format: date-time
        update_time:
          type: string
          description: The last update time
          format: date-time
  parameters:
    page:
      name: page
      in: query
      description: Page number, min = 1
      required: false
      schema:
        minimum: 1
        type: integer
        format: int32
        default: 1
    id:
      name: id
      in: path
      description: The unique identifier
      required: true
      schema:
        type: integer
        format: int64
    limit:
      name: limit
      in: query
      description: Page Size, min = 1, max = 100
      required: false
      schema:
        maximum: 100
        minimum: 1
        type: integer
        format: int32
        default: 10
  responses:
    ErrorResponse:
      description: The generic ExtremeCloud IQ API error response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/XiqError'
  securitySchemes:
    BearerAuth:
      type: http
      description: JSON Web Token (JWT) based authentication
      scheme: bearer
      bearerFormat: JWT
externalDocs:
  description: API Reference
  url: https://extremecloudiq.com/api-docs/api-reference.html