openapi: 3.2.0 info: title: Resource Inventory Operator network nodes API description: '#### Copyright Copyright Aeris Communications, Inc.' version: 2.0.7 x-audience: external-partner x-api-id: 3c82242f-95ff-4484-b84a-c96a9b2c43d3 servers: - url: https://iot-api.aeris.com/iot/api description: API server tags: - name: Operator network nodes paths: /network-nodes: get: tags: - Operator network nodes summary: Get list of network nodes description: 'Get list of network nodes grouped by geo-redundancy. If the redundancyNodeId is configured,then that means that the EPG has ICR configured, and those EPG will always work on active-active mode. If the redundancyNodeId is not configured (e.g "redundancyNodeId": null) then these EPGs does not have ICR configured so the either one form that pair can be selected as primary based on operator''s choice for that apn.' operationId: getNetworkNodes parameters: - name: q in: query schema: type: string required: false description: 'Filter parameter which supports the RSQL filter syntax. RSQL is a super-set of the Feed Item Query Language (FIQL). Currently there are only 1 field (operatorId) available for search, ' example: q=operatorId==3.5 responses: '200': description: OK allOf: - $ref: '#/components/responses/RateLimitedResponse' content: application/json: schema: $ref: '#/components/schemas/GeoRedundantGroupArray' example: operatorDcsNodes: - networkNodes: - id: 1 name: STO-EPG1 nodeType: EPG redundancyNodeId: 2 - id: 2 name: AMS-EPG1 nodeType: EPG redundancyNodeId: 1 apnSuffixes: - m2m.cn - .che1 - networkNodes: - id: 3 name: STO-EPG3 nodeType: EPG redundancyNodeId: null - id: 4 name: AMS-EPG4 nodeType: EPG redundancyNodeId: null apnSuffixes: - m2m.cn - .com '400': description: Bad Request headers: Content-Type: $ref: '#/components/headers/Content-Type' content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://www.iana.org/assignments/http-status-codes title: Bad Request status: 400 detail: Invalid request parameter instance: https://api.documentation.url/123e4567-e89b-12d3-a456-426614174000 '401': description: Unauthorized headers: Content-Type: $ref: '#/components/headers/Content-Type' content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://www.iana.org/assignments/http-status-codes title: Unauthorized status: 401 detail: The request has not been applied because the server requires user authentication. instance: https://api.documentation.url/123e4567-e89b-12d3-a456-426614174000 '429': description: Too Many Requests allOf: - $ref: '#/components/responses/RateLimitedResponse' content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://www.iana.org/assignments/http-status-codes title: API rate limit exceeded status: 429 detail: The server has too many requests. instance: https://api.documentation.url/123e4567-e89b-12d3-a456-426614174000 '500': description: Internal Server Error. headers: Content-Type: $ref: '#/components/headers/Content-Type' content: application/problem+json: schema: $ref: '#/components/schemas/Problem' example: type: https://www.iana.org/assignments/http-status-codes title: Internal Server Error status: 500 detail: The server has encountered a situation that it does not know how to handle. instance: https://api.documentation.url/123e4567-e89b-12d3-a456-426614174000 default: description: Internal Server Error. content: application/problem+json: schema: $ref: '#/components/schemas/Problem' security: - oauth2: - cnx_view_networks components: headers: X-RateLimit-Remaining-Minute: description: The number of requests remaining in a minute. schema: type: integer format: int32 X-RateLimit-Limit-Second: description: The maximum number of requests allowed in a second. schema: type: integer format: int32 X-RateLimit-Limit-Minute: description: The maximum number of requests allowed in a minute. schema: type: integer format: int32 Content-Type: description: Handle Content-Type schema: type: string X-RateLimit-Remaining-Second: description: The number of requests remaining in a second. schema: type: integer format: int32 schemas: GeoRedundantGroupArray: type: object properties: operatorDcsNodes: type: array items: $ref: '#/components/schemas/NetworkNodeArray' Problem: type: object properties: type: type: string description: 'An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML). ' format: uri example: https://your.api.documentation.url default: about:blank title: type: string description: 'A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized). ' example: Internal Server Error status: maximum: 600 minimum: 100 type: integer description: 'The HTTP status code generated by the origin server for this occurrence of the problem. ' format: int32 example: 500 detail: type: string description: 'A human readable explanation specific to this occurrence of the problem. ' example: The server has encountered a situation that it does not know how to handle. instance: type: string description: 'An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. ' NetworkNode: type: object properties: id: type: integer description: Node Id example: 1 name: type: string description: Node Name example: STO-EPG1 nodeType: type: string description: Node Type example: EPG redundancyNodeId: type: - integer - 'null' description: Redundancy Node Id example: 2 NetworkNodeArray: type: object properties: networkNodes: type: array items: $ref: '#/components/schemas/NetworkNode' apnSuffixes: type: array items: type: string example: m2m.cn responses: RateLimitedResponse: headers: X-RateLimit-Limit-Second: $ref: '#/components/headers/X-RateLimit-Limit-Second' X-RateLimit-Limit-Minute: $ref: '#/components/headers/X-RateLimit-Limit-Minute' X-RateLimit-Remaining-Second: $ref: '#/components/headers/X-RateLimit-Remaining-Second' X-RateLimit-Remaining-Minute: $ref: '#/components/headers/X-RateLimit-Remaining-Minute' Content-Type: $ref: '#/components/headers/Content-Type' securitySchemes: oauth2: type: oauth2 description: The API uses OAuth2 and OIDC for authentication and authorization. flows: password: tokenUrl: https:///iot/api/auth/token scopes: cnx_view_resources: Access right to read APN