Graphql schema documentation

link ExtremeCloud IQ - Site Engine version 23.4 GraphQL Schema definition

The Northbound Interface (NBI) API uses the GraphQL language to perform queries and manipulate (mutate) data in ExtremeCloud IQ - Site Engine. The NBI provides you with a single point through which you can access ExtremeCloud IQ - Site Engine information for use in third-party applications. Additionally, via the NBI, you can generate reports using information in ExtremeCloud IQ - Site Engine in external tools.

The NBI uses the GraphQL query language to request a JSON object response from ExtremeCloud IQ - Site Engine. The JSON response contains the information you are retrieving for your third-party software. Depending on your credentials, you can use the NBI to read (query) information in ExtremeCloud IQ - Site Engine or write to fields in ExtremeCloud IQ - Site Engine via mutations.

WARNING: Changes made via the NBI are not validated. Entering invalid information will affect your ExtremeCloud IQ - Site Engine server and may cause you to lose data. Only use the NBI if you are an expert user.

Accessing the GraphiQL Explorer in ExtremeCloud IQ - Site Engine:

  1. 1. Access the Diagnostics tab.
  2. 2. Select Diagnostic in the Level drop-down list.
  3. 3. Click Server in the left-panel menu to expand it and select Server Utilities.
  4. The Server Utilities tab opens.

  5. 4. Select the NBI Explorer to access the GraphiQL Explorer.

NOTE: Select NBI Schema (Text) or NBI Schema (JSON) to display the format you use when defining your queries and mutations in the NBI in plain text format or in JavaScript Object Notation, respectively.

This site contains schema information for queries and mutations available using the NBI in version 22.3 of ExtremeCloud IQ - Site Engine. For the most up-to-date schema information for your version of ExtremeCloud IQ - Site Engine, see the JSON file in your installation.

Using the NBI Explorer:

Selecting NBI Explorer in the Server Utilities tab opens the NBI Explorer in a new tab or window, depending on how your browser is configured.

NOTE: To access the NBI requires access to the Northbound API > Northbound Interface Authorization Group capability. To access the Policy and Access Control queries and mutations you also need access to the Northbound API > Policy Northbound Interface and Northbound API > Access Control Northbound Interface Authorization Group capabilities, respectively.

The NBI Explorer provides you with read-only access to queries and write access via mutations, allowing you to preview the data so you know what queries and mutations to use in your third-party applications. You can add NBI queries and mutations via python scripts or use NBI queries and mutations in https via REST calls.

For example, to retrieve the IP address and policy domain for a device, enter:

#Embedded Python Script

deviceIP = emc_vars[‘deviceIP’]

response = emc_api.query("ExtremeApi { Network { device(ip: deviceIP) { ip policyDomain}}}");

network = response['network'];

for device in network['devices']:

print " IP: ",device['ip']

print “ Policy Domain: “, device[‘policyDomain’]

For additional information about the queries and mutations available in the NBI Explorer:

  1. 1. Open the NBI Explorer.
  2. 2. Click Docs at the top-right of the NBI Explorer.
  3. The Documentation Explorer opens.

  4. 3. Search for a Schema by entering it in the Search Schema field, or click Query or Mutation to browse for available queries and mutations:
    • - If you entered a schema in the Search Schema field, the matching fields and schema types display in the Documentation Explorer. Click the query or mutation field you are using in your command in the left side of the NBI.
    • - If you selected Query or Mutation, the available query or mutation fields display. Click the field that you are using until you find the appropriate query or mutation for your command.

To access the NBI using a third-party tool outside of ExtremeCloud IQ - Site Engine, the third-party client must be configured on the Administration > Client API Access tab.