openapi: 3.2.0 info: title: 'Forward Networks: Complete Aliases Network Topology API' description: Model and verify networks contact: email: support@forwardnetworks.com license: name: MIT url: https://spdx.org/licenses/MIT version: '26.6' servers: - url: /api tags: - name: Network Topology description: List the links inferred between network devices and override them if necessary summary: Network Topology paths: /snapshots/{snapshotId}/topology: get: tags: - Network Topology summary: Get the network topology description: The links in the response are directed, so they generally appear twice—once for each direction. operationId: getTopology parameters: - name: snapshotId in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/TopologyLink' '409': description: 'The system is currently processing this Snapshot. Note: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.' content: application/json: schema: $ref: '#/components/schemas/ErrorInfo' security: - api_token: [] /snapshots/{snapshotId}/topology/overrides: get: tags: - Network Topology summary: Get the topology overrides operationId: getLinkOverrides parameters: - name: snapshotId in: path required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LinkOverrides' '409': description: 'The system is currently processing this Snapshot. Note: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.' content: application/json: schema: $ref: '#/components/schemas/ErrorInfo' security: - api_token: [] post: tags: - Network Topology summary: Edit the topology overrides operationId: editLinkOverrides parameters: - name: snapshotId in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LinkOverridesEdit' required: true responses: '200': description: OK content: application/json: schema: type: object '409': description: 'The system is currently processing this Snapshot. Note: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.' content: application/json: schema: $ref: '#/components/schemas/ErrorInfo' security: - api_token: [] put: tags: - Network Topology summary: Set the topology overrides description: Replaces any topology overrides previously saved for the Snapshot. operationId: replaceLinkOverrides parameters: - name: snapshotId in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LinkOverrides' required: true responses: '200': description: OK content: application/json: schema: type: object '409': description: 'The system is currently processing this Snapshot. Note: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the latest Snapshot is done or to identify an alternate Snapshot that has already been processed.' content: application/json: schema: $ref: '#/components/schemas/ErrorInfo' security: - api_token: [] components: schemas: LinkOverrides: type: object properties: absent: type: array items: $ref: '#/components/schemas/Link' present: type: array items: $ref: '#/components/schemas/Link' LinkOverridesEdit: type: object properties: absentAdditions: type: array items: $ref: '#/components/schemas/Link' absentRemovals: type: array items: $ref: '#/components/schemas/Link' presentAdditions: type: array items: $ref: '#/components/schemas/Link' presentRemovals: type: array items: $ref: '#/components/schemas/Link' Link: type: object properties: port1: type: string port2: type: string ErrorInfo: type: object required: - httpMethod - apiUrl - message properties: httpMethod: type: string examples: - GET enum: - GET - HEAD - POST - PUT - PATCH - DELETE apiUrl: type: string examples: - /api/version message: type: string description: A description of the error reason: type: string TopologyLink: type: object properties: sourcePort: type: string targetPort: type: string securitySchemes: api_token: type: http scheme: basic