MTN Service Activation and Configuration

TMF API Reference: TMF640 - Service Activation and Configuration Version 4.0 Service Activation and Configuration API goal is to provide the ability to activate and configure Service. This API features Monitor pattern allowing to manage service configuration/activation asynchronous request (server side will provide monitor as...

OpenAPI Specification

mtn-group-service-activation-and-configuration.yml Raw ↑
swagger: '2.0'
info:
  title: API Service Activation and Configuration
  description: |-
    ## TMF API Reference: TMF640 - Service Activation and Configuration

     Version 4.0 

    Service Activation and Configuration API goal is to provide the ability to activate and configure Service. This API features Monitor pattern allowing to manage service configuration/activation asynchronous request (server side will provide monitor as POST/PATCH response) 

    ### TMF640 performs the following Operations on service resource :
    - Retrieve a service or a collection of services depending on filter criteria
    - Partial update of an service
    - Create a service (including default values and creation rules)
    - Delete a service (for administration purposes)
    - Manage notification of events

    ### Monitor Resource

    Monitor resource is used to track and log activation and/or configuration request

    ### TMF640 provides following operation on Monitor resource:

    - Retrieval of a monitor or a collection of monitor

    Copyright © TM Forum 2019; All Rights Reserved
  version: 4.0.0
host: api.mtn.com
basePath: /v1
schemes:
  - http
consumes:
  - application/json;charset=utf-8
produces:
  - application/json;charset=utf-8
tags:
  - name: service
  - name: monitor
  - name: notification listeners (client side)
  - name: events subscription
paths:
  /service:
    get:
      operationId: listService
      summary: List or find Service objects
      description: This operation list or find Service entities
      tags:
        - service
      parameters:
        - name: fields
          description: Comma-separated properties to be provided in response
          required: false
          in: query
          type: string
        - name: offset
          description: Requested index for start of resources to be provided in response
          required: false
          in: query
          type: integer
        - name: limit
          description: Requested number of resources to be provided in response
          required: false
          in: query
          type: integer
      responses:
        '200':
          description: Success
          headers:
            X-Result-Count:
              description: Actual number of items returned in the response body
              type: integer
            X-Total-Count:
              description: Total number of items matching criteria
              type: integer
          schema:
            type: array
            items:
              $ref: '#/definitions/Service'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
    post:
      operationId: createService
      summary: Creates a Service
      description: This operation creates a Service entity.
      tags:
        - service
      parameters:
        - name: service
          description: The Service to be created
          required: true
          schema:
            $ref: '#/definitions/Service_Create'
          in: body
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/Service'
        '202':
          description: Accepted
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
  /service/{id}:
    get:
      operationId: retrieveService
      summary: Retrieves a Service by ID
      description: This operation retrieves a Service entity. Attribute selection is enabled for all first level attributes.
      tags:
        - service
      parameters:
        - name: id
          description: Identifier of the Service
          required: true
          type: string
          in: path
        - name: fields
          description: Comma-separated properties to provide in response
          required: false
          type: string
          in: query
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/Service'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
    patch:
      operationId: patchService
      summary: Updates partially a Service
      description: This operation updates partially a Service entity.
      tags:
        - service
      parameters:
        - name: id
          description: Identifier of the Service
          required: true
          type: string
          in: path
        - name: service
          description: The Service to be updated
          required: true
          schema:
            $ref: '#/definitions/Service_Update'
          in: body
      responses:
        '200':
          description: Updated
          schema:
            $ref: '#/definitions/Service'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
    delete:
      operationId: deleteService
      summary: Deletes a Service
      description: This operation deletes a Service entity.
      tags:
        - service
      parameters:
        - name: id
          description: Identifier of the Service
          required: true
          type: string
          in: path
      responses:
        '204':
          description: Deleted
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
  /monitor:
    get:
      operationId: listMonitor
      summary: List or find Monitor objects
      description: This operation list or find Monitor entities
      tags:
        - monitor
      parameters:
        - name: fields
          description: Comma-separated properties to be provided in response
          required: false
          in: query
          type: string
        - name: offset
          description: Requested index for start of resources to be provided in response
          required: false
          in: query
          type: integer
        - name: limit
          description: Requested number of resources to be provided in response
          required: false
          in: query
          type: integer
      responses:
        '200':
          description: Success
          headers:
            X-Result-Count:
              description: Actual number of items returned in the response body
              type: integer
            X-Total-Count:
              description: Total number of items matching criteria
              type: integer
          schema:
            type: array
            items:
              $ref: '#/definitions/Monitor'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
  /monitor/{id}:
    get:
      operationId: retrieveMonitor
      summary: Retrieves a Monitor by ID
      description: This operation retrieves a Monitor entity. Attribute selection is enabled for all first level attributes.
      tags:
        - monitor
      parameters:
        - name: id
          description: Identifier of the Monitor
          required: true
          type: string
          in: path
        - name: fields
          description: Comma-separated properties to provide in response
          required: false
          type: string
          in: query
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/Monitor'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
  /hub:
    post:
      operationId: registerListener
      summary: Register a listener
      description: Sets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.
      tags:
        - events subscription
      parameters:
        - name: data
          schema:
            $ref: '#/definitions/EventSubscriptionInput'
          required: true
          in: body
          description: Data containing the callback endpoint to deliver the information
      responses:
        '201':
          description: Subscribed
          schema:
            $ref: '#/definitions/EventSubscription'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
  /hub/{id}:
    delete:
      operationId: unregisterListener
      summary: Unregister a listener
      description: Resets the communication endpoint address the service instance must use to deliver information about its health state, execution state, failures and metrics.
      tags:
        - events subscription
      parameters:
        - name: id
          type: string
          required: true
          in: path
          description: The id of the registered listener
      responses:
        '204':
          description: Deleted
        '400':
          description: Bad request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method not allowed
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
  /listener/serviceCreateEvent:
    post:
      operationId: listenToServiceCreateEvent
      summary: Client listener for entity ServiceCreateEvent
      description: Example of a client listener for receiving the notification ServiceCreateEvent
      tags:
        - notification listeners (client side)
      parameters:
        - name: data
          required: true
          in: body
          description: The event data
          schema:
            $ref: '#/definitions/ServiceCreateEvent'
      responses:
        '201':
          description: Notified
          schema:
            $ref: '#/definitions/EventSubscription'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
  /listener/serviceAttributeValueChangeEvent:
    post:
      operationId: listenToServiceAttributeValueChangeEvent
      summary: Client listener for entity ServiceAttributeValueChangeEvent
      description: Example of a client listener for receiving the notification ServiceAttributeValueChangeEvent
      tags:
        - notification listeners (client side)
      parameters:
        - name: data
          required: true
          in: body
          description: The event data
          schema:
            $ref: '#/definitions/ServiceAttributeValueChangeEvent'
      responses:
        '201':
          description: Notified
          schema:
            $ref: '#/definitions/EventSubscription'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
  /listener/serviceStateChangeEvent:
    post:
      operationId: listenToServiceStateChangeEvent
      summary: Client listener for entity ServiceStateChangeEvent
      description: Example of a client listener for receiving the notification ServiceStateChangeEvent
      tags:
        - notification listeners (client side)
      parameters:
        - name: data
          required: true
          in: body
          description: The event data
          schema:
            $ref: '#/definitions/ServiceStateChangeEvent'
      responses:
        '201':
          description: Notified
          schema:
            $ref: '#/definitions/EventSubscription'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
  /listener/serviceDeleteEvent:
    post:
      operationId: listenToServiceDeleteEvent
      summary: Client listener for entity ServiceDeleteEvent
      description: Example of a client listener for receiving the notification ServiceDeleteEvent
      tags:
        - notification listeners (client side)
      parameters:
        - name: data
          required: true
          in: body
          description: The event data
          schema:
            $ref: '#/definitions/ServiceDeleteEvent'
      responses:
        '201':
          description: Notified
          schema:
            $ref: '#/definitions/EventSubscription'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
  /listener/monitorCreateEvent:
    post:
      operationId: listenToMonitorCreateEvent
      summary: Client listener for entity MonitorCreateEvent
      description: Example of a client listener for receiving the notification MonitorCreateEvent
      tags:
        - notification listeners (client side)
      parameters:
        - name: data
          required: true
          in: body
          description: The event data
          schema:
            $ref: '#/definitions/MonitorCreateEvent'
      responses:
        '201':
          description: Notified
          schema:
            $ref: '#/definitions/EventSubscription'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
  /listener/monitorAttributeValueChangeEvent:
    post:
      operationId: listenToMonitorAttributeValueChangeEvent
      summary: Client listener for entity MonitorAttributeValueChangeEvent
      description: Example of a client listener for receiving the notification MonitorAttributeValueChangeEvent
      tags:
        - notification listeners (client side)
      parameters:
        - name: data
          required: true
          in: body
          description: The event data
          schema:
            $ref: '#/definitions/MonitorAttributeValueChangeEvent'
      responses:
        '201':
          description: Notified
          schema:
            $ref: '#/definitions/EventSubscription'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
  /listener/monitorStateChangeEvent:
    post:
      operationId: listenToMonitorStateChangeEvent
      summary: Client listener for entity MonitorStateChangeEvent
      description: Example of a client listener for receiving the notification MonitorStateChangeEvent
      tags:
        - notification listeners (client side)
      parameters:
        - name: data
          required: true
          in: body
          description: The event data
          schema:
            $ref: '#/definitions/MonitorStateChangeEvent'
      responses:
        '201':
          description: Notified
          schema:
            $ref: '#/definitions/EventSubscription'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
  /listener/monitorDeleteEvent:
    post:
      operationId: listenToMonitorDeleteEvent
      summary: Client listener for entity MonitorDeleteEvent
      description: Example of a client listener for receiving the notification MonitorDeleteEvent
      tags:
        - notification listeners (client side)
      parameters:
        - name: data
          required: true
          in: body
          description: The event data
          schema:
            $ref: '#/definitions/MonitorDeleteEvent'
      responses:
        '201':
          description: Notified
          schema:
            $ref: '#/definitions/EventSubscription'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
definitions:
  Addressable:
    type: object
    description: Base schema for adressable entities
    properties:
      id:
        type: string
        description: unique identifier
      href:
        type: string
        format: uri
        description: Hyperlink reference
      '@baseType':
        type: string
        description: When sub-classing, this defines the super-class
      '@schemaLocation':
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes and relationships
      '@type':
        type: string
        description: When sub-classing, this defines the sub-class entity name
  Any: {}
  Characteristic:
    type: object
    description: Describes a given characteristic of an object or entity through a name/value pair.
    required:
      - name
      - value
    properties:
      id:
        type: string
        description: Unique identifier of the characteristic
      name:
        type: string
        description: Name of the characteristic
      valueType:
        type: string
        description: Data type of the value of the characteristic
      characteristicRelationship:
        type: array
        items:
          $ref: '#/definitions/CharacteristicRelationship'
      value:
        $ref: '#/definitions/Any'
        description: The value of the characteristic
      '@baseType':
        example: ResourceSpecification
        type: string
        description: When sub-classing, this defines the super-class
      '@schemaLocation':
        example: https://mycsp.com:8080/tmf-api/schema/Resource/LogicalResourceSpecification.schema.json
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes and relationships
      '@type':
        example: LogicalResourceSpecification
        type: string
        description: When sub-classing, this defines the sub-class Extensible name
  CharacteristicRelationship:
    type: object
    description: Another Characteristic that is related to the current Characteristic;
    properties:
      id:
        type: string
        description: Unique identifier of the characteristic
      relationshipType:
        type: string
        description: The type of relationship
      '@baseType':
        type: string
        description: When sub-classing, this defines the super-class
      '@schemaLocation':
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes and relationships
      '@type':
        type: string
        description: When sub-classing, this defines the sub-class entity name
  ConstraintRef:
    type: object
    description: Constraint reference. The Constraint resource represents a policy/rule applied to an entity or entity spec.
    properties:
      id:
        type: string
        description: reference id to the target constraint
      href:
        type: string
        description: Hyperlink reference to the target constraint
      name:
        type: string
        description: Name given to the constraint
      version:
        type: string
        description: constraint version
      '@baseType':
        type: string
        description: When sub-classing, this defines the super-class
      '@schemaLocation':
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes and relationships
      '@type':
        type: string
        description: When sub-classing, this defines the sub-class entity name
      '@referredType':
        type: string
        description: The (class) type of the referred constraint
    required:
      - id
  EntityRef:
    type: object
    description: Entity reference schema to be use for all entityRef class.
    properties:
      id:
        type: string
        description: unique identifier
      href:
        type: string
        format: uri
        description: Hyperlink reference
      name:
        type: string
        description: Name of the related entity.
      '@baseType':
        example: ResourceSpecification
        type: string
        description: When sub-classing, this defines the super-class
      '@schemaLocation':
        example: https://mycsp.com:8080/tmf-api/schema/Resource/LogicalResourceSpecification.schema.json
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes and relationships
      '@type':
        example: LogicalResourceSpecification
        type: string
        description: When sub-classing, this defines the sub-class Extensible name
      '@referredType':
        type: string
        description: The actual type of the target instance when needed for disambiguation.
    required:
      - id
  EntityValue:
    type: object
    description: Base entity value  schema for use in TMForum Open-APIs
    properties:
      id:
        type: string
        description: Unique identifier of a related entity.
      href:
        type: string
        description: Reference of the related entity.
      '@baseType':
        type: string
        description: When sub-classing, this defines the super-class
      '@schemaLocation':
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes and relationships
      '@type':
        type: string
        description: When sub-classing, this defines the sub-class entity name
  Extensible:
    type: object
    description: Base Extensible schema for use in TMForum Open-APIs
    properties:
      '@baseType':
        example: ResourceSpecification
        type: string
        description: When sub-classing, this defines the super-class
      '@schemaLocation':
        example: https://mycsp.com:8080/tmf-api/schema/Resource/LogicalResourceSpecification.schema.json
        type: string
        format: uri
        description: A URI to a JSON-Schema file that defines additional attributes and relationships
      '@type':
        example: LogicalResourceSpecification
        type: string
        description: When sub-classing, this defines the sub-class Extensible name
  Feature:
    type: object
    description: Configuration feature.
    required:
      - featureCharacteristic
      - name
    properties:
      id:
        type: string
        description: Unique identifier of the feature.
      isBundle:
        type: boolean
        description: True if this is a feature group. Default is false.
      isEnabled:
        type: boolean
        description: True if this feature is enabled. Default is true.
      name:
        type: string
        description: This is the name for the 

# --- truncated at 32 KB (84 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mtn-group/refs/heads/main/openapi/mtn-group-service-activation-and-configuration.yml