naftiko: 1.0.0-alpha2 info: label: Ciena Blue Planet Open API description: Ciena Blue Planet provides open APIs for multi-layer SDN network management and automation. The platform supports TM Forum Open APIs, MEF Lifecycle Service Orchestration (LSO) APIs including Legato and Sonata, and integrates with ONAP policy frameworks. APIs enable network topology management, circuit provisioning, performance monitoring, and network operations automation for telecom carriers. tags: - Ciena - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: ciena baseUri: https://api.blueplanet.com/bpocore/market/api/v1 description: Ciena Blue Planet Open API HTTP API. authentication: type: bearer token: '{{CIENA_TOKEN}}' resources: - name: topology-nodes path: /topology/nodes operations: - name: listtopologynodes method: GET description: List network topology nodes inputParameters: - name: type in: query type: string description: Filter by node type - name: adminState in: query type: string description: Filter by administrative state - name: limit in: query type: integer - name: offset in: query type: integer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: topology-nodes-nodeid path: /topology/nodes/{nodeId} operations: - name: gettopologynode method: GET description: Get a specific network topology node inputParameters: - name: nodeId in: path type: string required: true description: Unique node identifier outputRawFormat: json outputParameters: - name: result type: object value: $. - name: topology-links path: /topology/links operations: - name: listtopologylinks method: GET description: List network topology links inputParameters: - name: nodeId in: query type: string description: Filter links connected to a specific node - name: type in: query type: string description: Filter by link type - name: limit in: query type: integer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: services path: /services operations: - name: listservices method: GET description: List provisioned network services inputParameters: - name: state in: query type: string description: Filter by service state - name: serviceType in: query type: string description: Filter by service type - name: limit in: query type: integer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createservice method: POST description: Create a new network service outputRawFormat: json outputParameters: - name: result type: object value: $. - name: services-serviceid path: /services/{serviceId} operations: - name: getservice method: GET description: Get network service details inputParameters: - name: serviceId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteservice method: DELETE description: Delete a network service inputParameters: - name: serviceId in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: performance-metrics path: /performance/metrics operations: - name: getperformancemetrics method: GET description: Retrieve network performance metrics inputParameters: - name: resourceId in: query type: string required: true description: ID of the network resource to query metrics for - name: metricType in: query type: string description: Type of performance metric - name: granularity in: query type: string description: Data granularity period - name: startTime in: query type: string description: Start of query window (ISO 8601) - name: endTime in: query type: string description: End of query window (ISO 8601) outputRawFormat: json outputParameters: - name: result type: object value: $. - name: alarms path: /alarms operations: - name: listalarms method: GET description: List network alarms inputParameters: - name: severity in: query type: string description: Filter by alarm severity - name: resourceId in: query type: string description: Filter alarms for a specific resource - name: limit in: query type: integer outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: ciena-rest description: REST adapter for Ciena Blue Planet Open API. resources: - path: /topology/nodes name: listtopologynodes operations: - method: GET name: listtopologynodes description: List network topology nodes call: ciena.listtopologynodes outputParameters: - type: object mapping: $. - path: /topology/nodes/{nodeId} name: gettopologynode operations: - method: GET name: gettopologynode description: Get a specific network topology node call: ciena.gettopologynode with: nodeId: rest.nodeId outputParameters: - type: object mapping: $. - path: /topology/links name: listtopologylinks operations: - method: GET name: listtopologylinks description: List network topology links call: ciena.listtopologylinks outputParameters: - type: object mapping: $. - path: /services name: listservices operations: - method: GET name: listservices description: List provisioned network services call: ciena.listservices outputParameters: - type: object mapping: $. - path: /services name: createservice operations: - method: POST name: createservice description: Create a new network service call: ciena.createservice outputParameters: - type: object mapping: $. - path: /services/{serviceId} name: getservice operations: - method: GET name: getservice description: Get network service details call: ciena.getservice with: serviceId: rest.serviceId outputParameters: - type: object mapping: $. - path: /services/{serviceId} name: deleteservice operations: - method: DELETE name: deleteservice description: Delete a network service call: ciena.deleteservice with: serviceId: rest.serviceId outputParameters: - type: object mapping: $. - path: /performance/metrics name: getperformancemetrics operations: - method: GET name: getperformancemetrics description: Retrieve network performance metrics call: ciena.getperformancemetrics outputParameters: - type: object mapping: $. - path: /alarms name: listalarms operations: - method: GET name: listalarms description: List network alarms call: ciena.listalarms outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: ciena-mcp transport: http description: MCP adapter for Ciena Blue Planet Open API for AI agent use. tools: - name: listtopologynodes description: List network topology nodes hints: readOnly: true destructive: false idempotent: true call: ciena.listtopologynodes with: type: tools.type adminState: tools.adminState limit: tools.limit offset: tools.offset inputParameters: - name: type type: string description: Filter by node type - name: adminState type: string description: Filter by administrative state - name: limit type: integer description: limit - name: offset type: integer description: offset outputParameters: - type: object mapping: $. - name: gettopologynode description: Get a specific network topology node hints: readOnly: true destructive: false idempotent: true call: ciena.gettopologynode with: nodeId: tools.nodeId inputParameters: - name: nodeId type: string description: Unique node identifier required: true outputParameters: - type: object mapping: $. - name: listtopologylinks description: List network topology links hints: readOnly: true destructive: false idempotent: true call: ciena.listtopologylinks with: nodeId: tools.nodeId type: tools.type limit: tools.limit inputParameters: - name: nodeId type: string description: Filter links connected to a specific node - name: type type: string description: Filter by link type - name: limit type: integer description: limit outputParameters: - type: object mapping: $. - name: listservices description: List provisioned network services hints: readOnly: true destructive: false idempotent: true call: ciena.listservices with: state: tools.state serviceType: tools.serviceType limit: tools.limit inputParameters: - name: state type: string description: Filter by service state - name: serviceType type: string description: Filter by service type - name: limit type: integer description: limit outputParameters: - type: object mapping: $. - name: createservice description: Create a new network service hints: readOnly: false destructive: false idempotent: false call: ciena.createservice outputParameters: - type: object mapping: $. - name: getservice description: Get network service details hints: readOnly: true destructive: false idempotent: true call: ciena.getservice with: serviceId: tools.serviceId inputParameters: - name: serviceId type: string description: serviceId required: true outputParameters: - type: object mapping: $. - name: deleteservice description: Delete a network service hints: readOnly: false destructive: true idempotent: true call: ciena.deleteservice with: serviceId: tools.serviceId inputParameters: - name: serviceId type: string description: serviceId required: true outputParameters: - type: object mapping: $. - name: getperformancemetrics description: Retrieve network performance metrics hints: readOnly: true destructive: false idempotent: true call: ciena.getperformancemetrics with: resourceId: tools.resourceId metricType: tools.metricType granularity: tools.granularity startTime: tools.startTime endTime: tools.endTime inputParameters: - name: resourceId type: string description: ID of the network resource to query metrics for required: true - name: metricType type: string description: Type of performance metric - name: granularity type: string description: Data granularity period - name: startTime type: string description: Start of query window (ISO 8601) - name: endTime type: string description: End of query window (ISO 8601) outputParameters: - type: object mapping: $. - name: listalarms description: List network alarms hints: readOnly: true destructive: false idempotent: true call: ciena.listalarms with: severity: tools.severity resourceId: tools.resourceId limit: tools.limit inputParameters: - name: severity type: string description: Filter by alarm severity - name: resourceId type: string description: Filter alarms for a specific resource - name: limit type: integer description: limit outputParameters: - type: object mapping: $. binds: - namespace: env keys: CIENA_TOKEN: CIENA_TOKEN