Extreme Networks Operation API

Long-Running Operations (LRO) management for asynchronous APIs

OpenAPI Specification

extreme-networks-operation-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: ExtremeCloud IQ Account Operation 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: Operation
  description: Long-Running Operations (LRO) management for asynchronous APIs
paths:
  /operations/{operationId}:
    get:
      tags:
      - Operation
      summary: Get Long-Running Operation (LRO) status and result
      description: 'Get the Long-Running Operation (LRO) status and result.

        The response will include either result or error if the operation is done.'
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_get_operation
      operationId: getOperation
      parameters:
      - name: operationId
        in: path
        description: The operation ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqOperationObject'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    delete:
      tags:
      - Operation
      summary: Delete Long-Running Operation (LRO)
      description: The Long-Running Operation (LRO) can be deleted when the operation is done or in PENDING status.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_operation
      operationId: deleteOperation
      parameters:
      - name: operationId
        in: path
        description: The operation ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /operations/{operationId}/:cancel:
    post:
      tags:
      - Operation
      summary: Cancel Long-Running Operation (LRO)
      description: 'When the cancelable is true in operation metadata the clients are allowed to send a cancel request to ask the backend to cancel the operation.

        The server makes its best effort to cancel the operation, but success is not guaranteed.'
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_cancel_operation
      operationId: cancelOperation
      parameters:
      - name: operationId
        in: path
        description: The operation ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
components:
  schemas:
    XiqOperationStatus:
      type: string
      description: The current operation status
      enum:
      - PENDING
      - RUNNING
      - CANCELING
      - SUCCEEDED
      - FAILED
      - CANCELED
    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
    XiqErrorParams:
      type: object
      description: Error parameters
      properties:
        field:
          type: string
          description: The error field
        value:
          type: string
          description: The error value
    XiqOperationObject:
      type: object
      description: Long Running Operation (LRO) model
      required:
      - id
      - metadata
      - done
      properties:
        id:
          type: string
          description: The unique identifier of the operation
        metadata:
          $ref: '#/components/schemas/XiqOperationMetadata'
        done:
          type: boolean
          description: Whether the operation is done
        response:
          type: object
          description: The API response of the operation if the status is SUCCEEDED
        error:
          $ref: '#/components/schemas/XiqError'
    XiqOperationMetadata:
      type: object
      description: The metadata of Long Running Operation (LRO)
      required:
      - status
      - cancelable
      - create_time
      - update_time
      - expires_in
      properties:
        status:
          $ref: '#/components/schemas/XiqOperationStatus'
        cancelable:
          type: boolean
          description: Indicates if the operation can be canceled in the current status
        percentage:
          maximum: 100
          minimum: 0
          type: integer
          description: The progress in percentage ranges from 0 to 100 (it's not guaranteed to be accurate)
          format: int32
        step:
          type: string
          description: The optional step name for multiple steps operations when the operation is running
        create_time:
          type: string
          description: The operation's create time, which is the time when the operation is in PENDING status
          format: date-time
        update_time:
          type: string
          description: The operation's last update time
          format: date-time
        start_time:
          type: string
          description: The operation's start time, which is the time when the operation is in RUNNING status
          format: date-time
        end_time:
          type: string
          description: The operation's end time, which is the time when the operation is done
          format: date-time
        expires_in:
          type: integer
          description: The number of seconds remaining until the operation expires and is to be deleted.
          format: int64
  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