Ciena · Capability

Ciena Blue Planet Open API

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.

Run with Naftiko CienaAPI

What You Can Do

GET
Listtopologynodes — List network topology nodes
/topology/nodes
GET
Gettopologynode — Get a specific network topology node
/topology/nodes/{nodeId}
GET
Listtopologylinks — List network topology links
/topology/links
GET
Listservices — List provisioned network services
/services
POST
Createservice — Create a new network service
/services
GET
Getservice — Get network service details
/services/{serviceId}
DELETE
Deleteservice — Delete a network service
/services/{serviceId}
GET
Getperformancemetrics — Retrieve network performance metrics
/performance/metrics
GET
Listalarms — List network alarms
/alarms

MCP Tools

listtopologynodes

List network topology nodes

read-only idempotent
gettopologynode

Get a specific network topology node

read-only idempotent
listtopologylinks

List network topology links

read-only idempotent
listservices

List provisioned network services

read-only idempotent
createservice

Create a new network service

getservice

Get network service details

read-only idempotent
deleteservice

Delete a network service

idempotent
getperformancemetrics

Retrieve network performance metrics

read-only idempotent
listalarms

List network alarms

read-only idempotent

Capability Spec

ciena-capability.yaml Raw ↑
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