swagger: '2.0' info: title: API Resource Activation and Configuration description: |- ## TMF API Reference: TMF702 - Resource Activation ### Release : 19.5 - December 2019 Resource Activation API goal is to provide the ability to activate Resources. ### Operations Resource Activation and Configuration API performs the following operations on the resources : - Retrieve an entity or a collection of entities depending on filter criteria - Partial update of an entity (including updating rules) - Create an entity (including default values and creation rules) - Delete an entity (for administration purposes) - Manage notification of events version: 4.0.0 host: api.ooredoo.ps basePath: /tmf-api/ResourceActivationAndConfiguration/v1 schemes: - https consumes: - application/json produces: - application/json;charset=utf-8 security: - Oauth: [] tags: - name: resource - name: monitor - name: notification listeners (client side) - name: events subscription paths: /resource: get: operationId: listResource summary: List or find Resource objects description: This operation list or find Resource entities tags: - resource 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/Resource' '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: createResource summary: Creates a Resource description: This operation creates a Resource entity. tags: - resource parameters: - name: resource description: The Resource to be created required: true schema: $ref: '#/definitions/Resource_Create' in: body responses: '201': description: Created schema: $ref: '#/definitions/Resource' '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' /resource/{id}: get: operationId: retrieveResource summary: Retrieves a Resource by ID description: This operation retrieves a Resource entity. Attribute selection is enabled for all first level attributes. tags: - resource parameters: - name: id description: Identifier of the Resource 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/Resource' '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: patchResource summary: Updates partially a Resource description: This operation updates partially a Resource entity. tags: - resource parameters: - name: id description: Identifier of the Resource required: true type: string in: path - name: resource description: The Resource to be updated required: true schema: $ref: '#/definitions/Resource_Update' in: body - name: transactionId description: transactionId required: true in: header type: string - name: countryCode description: countryCode required: false in: header type: string - name: applicationCode description: applicationCode required: true in: header type: string - name: applicationUserName description: applicationUserName required: true in: header type: string responses: '200': description: Updated schema: $ref: '#/definitions/Resource' '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: deleteResource summary: Deletes a Resource description: This operation deletes a Resource entity. tags: - resource parameters: - name: id description: Identifier of the Resource 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/resourceCreateEvent: post: operationId: listenToResourceCreateEvent summary: Client listener for entity ResourceCreateEvent description: Example of a client listener for receiving the notification ResourceCreateEvent tags: - notification listeners (client side) parameters: - name: data required: true in: body description: The event data schema: $ref: '#/definitions/ResourceCreateEvent' 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/resourceAttributeValueChangeEvent: post: operationId: listenToResourceAttributeValueChangeEvent summary: Client listener for entity ResourceAttributeValueChangeEvent description: Example of a client listener for receiving the notification ResourceAttributeValueChangeEvent tags: - notification listeners (client side) parameters: - name: data required: true in: body description: The event data schema: $ref: '#/definitions/ResourceAttributeValueChangeEvent' 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/resourceStateChangeEvent: post: operationId: listenToResourceStateChangeEvent summary: Client listener for entity ResourceStateChangeEvent description: Example of a client listener for receiving the notification ResourceStateChangeEvent tags: - notification listeners (client side) parameters: - name: data required: true in: body description: The event data schema: $ref: '#/definitions/ResourceStateChangeEvent' 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/resourceDeleteEvent: post: operationId: listenToResourceDeleteEvent summary: Client listener for entity ResourceDeleteEvent description: Example of a client listener for receiving the notification ResourceDeleteEvent tags: - notification listeners (client side) parameters: - name: data required: true in: body description: The event data schema: $ref: '#/definitions/ResourceDeleteEvent' 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' securityDefinitions: Oauth: type: "oauth2" tokenUrl: "https://api.ooredoo.ps/tmf-api/oauth/token" flow: "application" definitions: Any: {} Attachment: type: object description: Complements the description of an element (for instance a product) through video, pictures... properties: id: example: 4aafacbd-11ff-4dc8-b445-305f2215715f type: string description: Unique identifier for this particular attachment href: example: http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f type: string description: URI for this Attachment attachmentType: example: video type: string description: Attachment type such as video, picture content: type: string format: base64 description: The actual contents of the attachment object, if embedded, encoded as base64 description: example: Photograph of the Product type: string description: A narrative text describing the content of the attachment mimeType: type: string description: Attachment mime type such as extension file for video, picture and document name: type: string description: The name of the attachment url: example: http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f type: string description: Uniform Resource Locator, is a web page address (a subset of URI) size: $ref: '#/definitions/Quantity' description: The size of the attachment. validFor: $ref: '#/definitions/TimePeriod' description: The period of time for which the attachment is valid '@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 AttachmentRef: type: object description: Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures properties: id: type: string description: Unique-Identifier for this attachment href: type: string description: URL serving as reference for the attachment resource description: type: string description: A narrative text describing the content of the attachment name: type: string description: Name of the related entity. url: type: string description: Link to the attachment media/content '@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 actual type of the target instance when needed for disambiguation. required: - id AttachmentRefOrValue: type: object description: An attachment by value or by reference. For AttachmentRefOrValue, the attribute type,schemaLocation and referredType are related to the contained entity and not to AttchmentRefOrValue itself properties: id: example: 4aafacbd-11ff-4dc8-b445-305f2215715f type: string description: Unique identifier for this particular attachment href: example: http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f type: string description: URI for this Attachment attachmentType: example: video type: string description: Attachment type such as video, picture content: type: string format: base64 description: The actual contents of the attachment object, if embedded, encoded as base64 description: example: Photograph of the Product type: string description: A narrative text describing the content of the attachment mimeType: type: string description: Attachment mime type such as extension file for video, picture and document name: type: string description: The name of the attachment url: example: http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f type: string description: Uniform Resource Locator, is a web page address (a subset of URI) size: $ref: '#/definitions/Quantity' description: The size of the attachment. validFor: $ref: '#/definitions/TimePeriod' description: The period of time for which the attachment is valid '@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 actual type of the target instance when needed for disambiguation. 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': 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 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 of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name 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 '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id 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 feature. constraint: type: array items: $ref: '#/definitions/ConstraintRef' description: This is a list of feature constraints. featureCharacteristic: type: array items: $ref: '#/definitions/Characteristic' minItems: 1 description: This is a list of Characteristics for a particular feature. featureRelationship: type: array items: $ref: '#/definitions/FeatureRelationship' '@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 FeatureRelationship: type: object description: Configuration feature required: - name - relationshipType properties: id: type: string description: Unique identifier of the target feature. name: type: string description: This is the name of the target feature. relationshipType: type: string description: This is the type of the feature relationship. validFor: $ref: '#/definitions/TimePeriod' description: The period for which this feature relationship is valid. '@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 HeaderItem: type: object description: An item typically included in a request or response required: - name - value properties: name: type: string description: The name of the header item, e.g. locale value: type: string description: The value of the header item, e.g. en-us '@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 Monitor: type: object description: Monitoring of resources properties: id: type: string description: Identifier of an instance of the monitor. Required to be unique within the resource type. Used in URIs as the identifier for specific instances of a type href: type: string description: reference to this monitor sourceHref: type: string description: The monitored resource href state: type: string description: The Monitor state of the resource. InProgress, InError, Completed request: $ref: '#/definitions/Request' description: Represents the request response: $ref: '#/definitions/Response' description: Represents the response '@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 Note: type: object description: Extra information about a given entity properties: id: type: string description: Identifier of the note within its containing entity (may or may not be globally unique, depending on provider implementation) author: type: string description: Author of the note date: type: string format: date-time description: Date of the note text: type: string description: Text of the note '@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 Place: type: object description: Place reference. Place defines the places where the products are sold or delivered. required: - href - id - role properties: id: type: string description: Unique identifier of the place href: type: string description: Unique reference of the place name: type: string description: A user-friendly name for the place, such as "Paris Store", "London Store", "Main Home" role: type: string description: 'Role of the place (for instance: ''home delivery'', ''shop retrieval'')' '@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 PlaceRef: type: object description: Place reference. PlaceRef defines the placeRefs where the products are sold or delivered. properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name 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 '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id Quantity: type: object description: An amount in a given unit properties: amount: default: 1 type: number format: float description: Numeric value in a given unit units: type: string description: Unit RelatedParty: type: object description: Related Entity reference. A related party defines party or party role linked to a specific entity. properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name of the related entity. role: type: string description: Role played by the related party '@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 actual type of the target instance when needed for disambiguation. RelatedPlaceRefOrValue: type: object description: Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself required: - href - id - role properties: id: type: string description: Unique identifier of the place href: type: string description: Unique reference of the place name: type: string description: A user-friendly name for the place, such as "Paris Store", "London Store", "Main Home" role: type: string '@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 actual type of the target instance when needed for disambiguation. Request: type: object description: A response to a request required: - body - header properties: body: type: string description: The body of the request. For example for an HTTP request might contain content of a form . method: type: string description: The protocol of the request, e.g. http to: type: string description: The target of the request, e.g. a URL for an HTTP request header: type: array items: $ref: '#/definitions/HeaderItem' minItems: 1 description: Items included in the header of the request. For example for an HTTP request might contain requested locale, basic authentication. '@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 Resource: type: object description: Resource is an abstract entity that describes the common set of attributes shared by all concrete resources (e.g. TPE, EQUIPMENT) in the inventory. required: - href - id properties: id: type: string description: Identifier of an instance of the resource. Required to be unique within the resource type. Used in URIs as the identifier for specific instances of a type. href: type: string description: The URI for the object itself. category: type: string description: Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource description: type: string description: free-text description of the resource endOperatingDate: type: string format: date-time description: A date time( DateTime). The date till the resource is operating name: type: string description: A string used to give a name to the resource resourceVersion: type: string description: A field that identifies the specific version of an instance of a resource. startOperatingDate: type: string format: date-time description: A date time( DateTime). The date from which the resource is operating activationFeature: type: array items: $ref: '#/definitions/Feature' description: Configuration features administrativeState: $ref: '#/definitions/ResourceAdministrativeStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. attachment: type: array items: $ref: '#/definitions/AttachmentRefOrValue' note: type: array items: $ref: '#/definitions/Note' operationalState: $ref: '#/definitions/ResourceOperationalStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. place: $ref: '#/definitions/RelatedPlaceRefOrValue' relatedParty: type: array items: $ref: '#/definitions/RelatedParty' resourceCharacteristic: type: array items: $ref: '#/definitions/Characteristic' resourceRelationship: type: array items: $ref: '#/definitions/ResourceRelationship' resourceSpecification: $ref: '#/definitions/ResourceSpecificationRef' resourceStatus: $ref: '#/definitions/ResourceStatusType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. usageState: $ref: '#/definitions/ResourceUsageStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. '@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 Resource_Create: type: object description: |- Resource is an abstract entity that describes the common set of attributes shared by all concrete resources (e.g. TPE, EQUIPMENT) in the inventory. Skipped properties: id,href properties: category: type: string description: Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource description: type: string description: free-text description of the resource endOperatingDate: type: string format: date-time description: A date time( DateTime). The date till the resource is operating name: type: string description: A string used to give a name to the resource resourceVersion: type: string description: A field that identifies the specific version of an instance of a resource. startOperatingDate: type: string format: date-time description: A date time( DateTime). The date from which the resource is operating activationFeature: type: array items: $ref: '#/definitions/Feature' description: Configuration features administrativeState: $ref: '#/definitions/ResourceAdministrativeStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. attachment: type: array items: $ref: '#/definitions/AttachmentRefOrValue' note: type: array items: $ref: '#/definitions/Note' operationalState: $ref: '#/definitions/ResourceOperationalStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. place: $ref: '#/definitions/RelatedPlaceRefOrValue' relatedParty: type: array items: $ref: '#/definitions/RelatedParty' resourceCharacteristic: type: array items: $ref: '#/definitions/Characteristic' resourceRelationship: type: array items: $ref: '#/definitions/ResourceRelationship' resourceSpecification: $ref: '#/definitions/ResourceSpecificationRef' resourceStatus: $ref: '#/definitions/ResourceStatusType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. usageState: $ref: '#/definitions/ResourceUsageStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. '@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 Resource_Update: type: object description: |- Resource is an abstract entity that describes the common set of attributes shared by all concrete resources (e.g. TPE, EQUIPMENT) in the inventory. Skipped properties: id,href properties: category: type: string description: Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource description: type: string description: free-text description of the resource endOperatingDate: type: string format: date-time description: A date time( DateTime). The date till the resource is operating name: type: string description: A string used to give a name to the resource resourceVersion: type: string description: A field that identifies the specific version of an instance of a resource. startOperatingDate: type: string format: date-time description: A date time( DateTime). The date from which the resource is operating activationFeature: type: array items: $ref: '#/definitions/Feature' description: Configuration features administrativeState: $ref: '#/definitions/ResourceAdministrativeStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. attachment: type: array items: $ref: '#/definitions/AttachmentRefOrValue' note: type: array items: $ref: '#/definitions/Note' operationalState: $ref: '#/definitions/ResourceOperationalStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. place: $ref: '#/definitions/RelatedPlaceRefOrValue' relatedParty: type: array items: $ref: '#/definitions/RelatedParty' resourceCharacteristic: type: array items: $ref: '#/definitions/Characteristic' resourceRelationship: type: array items: $ref: '#/definitions/ResourceRelationship' resourceSpecification: $ref: '#/definitions/ResourceSpecificationRef' resourceStatus: $ref: '#/definitions/ResourceStatusType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. usageState: $ref: '#/definitions/ResourceUsageStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. '@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 ResourceAdministrativeStateType: type: string description: ResourceAdministrativeStateType enumerations enum: - locked - unlocked - shutdown ResourceOperationalStateType: type: string description: ResourceOperationalStateType enumerations enum: - enable - disable ResourceRef: type: object properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name 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 '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id ResourceRefOrValue: type: object description: A resource to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the product entity and not the RelatedProductRefOrValue class itself required: - href - id properties: id: type: string description: Identifier of an instance of the resource. Required to be unique within the resource type. Used in URIs as the identifier for specific instances of a type. href: type: string description: The URI for the object itself. category: type: string description: Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource description: type: string description: free-text description of the resource endOperatingDate: type: string format: date-time description: A date time( DateTime). The date till the resource is operating name: type: string description: A string used to give a name to the resource resourceVersion: type: string description: A field that identifies the specific version of an instance of a resource. startOperatingDate: type: string format: date-time description: A date time( DateTime). The date from which the resource is operating activationFeature: type: array items: $ref: '#/definitions/Feature' description: Configuration features administrativeState: $ref: '#/definitions/ResourceAdministrativeStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. attachment: type: array items: $ref: '#/definitions/AttachmentRefOrValue' note: type: array items: $ref: '#/definitions/Note' operationalState: $ref: '#/definitions/ResourceOperationalStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. place: $ref: '#/definitions/RelatedPlaceRefOrValue' relatedParty: type: array items: $ref: '#/definitions/RelatedParty' resourceCharacteristic: type: array items: $ref: '#/definitions/Characteristic' resourceRelationship: type: array items: $ref: '#/definitions/ResourceRelationship' resourceSpecification: $ref: '#/definitions/ResourceSpecificationRef' resourceStatus: $ref: '#/definitions/ResourceStatusType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. usageState: $ref: '#/definitions/ResourceUsageStateType' description: Tracks the lifecycle status of the resource, such as planning, installing, opereating, retiring and so on. '@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 actual type of the target instance when needed for disambiguation. ResourceRelationship: type: object description: Linked resources to the one instantiate, such as [bundled] if the resource is a bundle and you want to describe the bundled resources inside this bundle; [reliesOn] if the resource needs another already owned resource to rely on (e.g. an option on an already owned mobile access resource) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful required: - relationshipType - resource properties: relationshipType: type: string description: Type of the resource relationship, such as [bundled] if the resource is a bundle and you want to describe the bundled resources inside this bundle; [reliesOn] if the resource needs another already owned resource to rely on (e.g. an option on an already owned mobile access resource) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful resource: $ref: '#/definitions/ResourceRefOrValue' '@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 ResourceSpecificationRef: type: object description: 'Resource Specification reference: The ResourceSpecification is required to realize a ProductSpecification.' required: - href - id properties: id: type: string description: Unique identifier of the resource specification href: type: string description: Reference of the resource specification name: type: string description: Name of the requiredResourceSpecification version: type: string description: Resource specification 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 actual type of the target instance when needed for disambiguation. ResourceStatusType: type: string description: ResourceStatusType enumerations enum: - standby - alarm - available - reserved - unknown - suspended ResourceUsageStateType: type: string description: ResourceUsageStateType enumerations enum: - idle - active - busy Response: type: object description: A response to a request required: - body - header properties: body: type: string description: The body of the response. For example for an HTTP response might contain HTML for rendering. statusCode: type: string description: The status of the response. For example for an HTTP response would be codes such as 200, 400, etc. header: type: array items: $ref: '#/definitions/HeaderItem' minItems: 1 description: Items included in the header of the response. For example for an HTTP response might contain negotiated locale. '@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 TimePeriod: type: object description: A period of time, either as a deadline (endDateTime only) a startDateTime only, or both properties: endDateTime: example: '1985-04-12T23:20:50.52Z' type: string format: date-time description: End of the time period, using IETC-RFC-3339 format startDateTime: example: '1985-04-12T23:20:50.52Z' type: string format: date-time description: Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end EventSubscription: type: object description: Sets the communication endpoint address the service instance must use to deliver notification information required: - id - callback properties: id: type: string description: Id of the listener callback: type: string description: The callback being registered. query: type: string description: additional data to be passed EventSubscriptionInput: type: object description: Sets the communication endpoint address the service instance must use to deliver notification information required: - callback properties: callback: type: string description: The callback being registered. query: type: string description: additional data to be passed ResourceCreateEvent: type: object description: The notification data structure properties: id: type: string description: Identifier of the Process flow href: type: string description: Reference of the ProcessFlow eventId: type: string description: The identifier of the notification. eventTime: type: string format: date-time description: Time of the event occurrence. eventType: type: string description: The type of the notification. correlationId: type: string description: The correlation id for this event. domain: type: string description: The domain of the event. title: type: string description: The title of the event. description: type: string description: An explnatory of the event. priority: type: string description: A priority. timeOcurred: type: string format: date-time description: The time the event occured. event: description: The event payload linked to the involved resource object $ref: '#/definitions/ResourceCreateEventPayload' ResourceCreateEventPayload: type: object description: The event data structure properties: resource: description: The involved resource data for the event $ref: '#/definitions/Resource' ResourceAttributeValueChangeEvent: type: object description: The notification data structure properties: eventId: type: string description: The identifier of the notification. eventTime: type: string format: date-time description: Time of the event occurrence. eventType: type: string description: The type of the notification. correlationId: type: string description: The correlation id for this event. domain: type: string description: The domain of the event. title: type: string description: The title of the event. description: type: string description: An explnatory of the event. priority: type: string description: A priority. timeOcurred: type: string format: date-time description: The time the event occured. fieldPath: type: string description: The path identifying the object field concerned by this notification. event: description: The event payload linked to the involved resource object $ref: '#/definitions/ResourceAttributeValueChangeEventPayload' ResourceAttributeValueChangeEventPayload: type: object description: The event data structure properties: resource: description: The involved resource data for the event $ref: '#/definitions/Resource' ResourceStateChangeEvent: type: object description: The notification data structure properties: id: type: string description: Identifier of the Process flow href: type: string description: Reference of the ProcessFlow eventId: type: string description: The identifier of the notification. eventTime: type: string format: date-time description: Time of the event occurrence. eventType: type: string description: The type of the notification. correlationId: type: string description: The correlation id for this event. domain: type: string description: The domain of the event. title: type: string description: The title of the event. description: type: string description: An explnatory of the event. priority: type: string description: A priority. timeOcurred: type: string format: date-time description: The time the event occured. event: description: The event payload linked to the involved resource object $ref: '#/definitions/ResourceStateChangeEventPayload' ResourceStateChangeEventPayload: type: object description: The event data structure properties: resource: description: The involved resource data for the event $ref: '#/definitions/Resource' ResourceDeleteEvent: type: object description: The notification data structure properties: id: type: string description: Identifier of the Process flow href: type: string description: Reference of the ProcessFlow eventId: type: string description: The identifier of the notification. eventTime: type: string format: date-time description: Time of the event occurrence. eventType: type: string description: The type of the notification. correlationId: type: string description: The correlation id for this event. domain: type: string description: The domain of the event. title: type: string description: The title of the event. description: type: string description: An explnatory of the event. priority: type: string description: A priority. timeOcurred: type: string format: date-time description: The time the event occured. event: description: The event payload linked to the involved resource object $ref: '#/definitions/ResourceDeleteEventPayload' ResourceDeleteEventPayload: type: object description: The event data structure properties: resource: description: The involved resource data for the event $ref: '#/definitions/Resource' MonitorCreateEvent: type: object description: The notification data structure properties: id: type: string description: Identifier of the Process flow href: type: string description: Reference of the ProcessFlow eventId: type: string description: The identifier of the notification. eventTime: type: string format: date-time description: Time of the event occurrence. eventType: type: string description: The type of the notification. correlationId: type: string description: The correlation id for this event. domain: type: string description: The domain of the event. title: type: string description: The title of the event. description: type: string description: An explnatory of the event. priority: type: string description: A priority. timeOcurred: type: string format: date-time description: The time the event occured. event: description: The event payload linked to the involved resource object $ref: '#/definitions/MonitorCreateEventPayload' MonitorCreateEventPayload: type: object description: The event data structure properties: monitor: description: The involved resource data for the event $ref: '#/definitions/Monitor' MonitorAttributeValueChangeEvent: type: object description: The notification data structure properties: eventId: type: string description: The identifier of the notification. eventTime: type: string format: date-time description: Time of the event occurrence. eventType: type: string description: The type of the notification. correlationId: type: string description: The correlation id for this event. domain: type: string description: The domain of the event. title: type: string description: The title of the event. description: type: string description: An explnatory of the event. priority: type: string description: A priority. timeOcurred: type: string format: date-time description: The time the event occured. fieldPath: type: string description: The path identifying the object field concerned by this notification. event: description: The event payload linked to the involved resource object $ref: '#/definitions/MonitorAttributeValueChangeEventPayload' MonitorAttributeValueChangeEventPayload: type: object description: The event data structure properties: monitor: description: The involved resource data for the event $ref: '#/definitions/Monitor' MonitorStateChangeEvent: type: object description: The notification data structure properties: id: type: string description: Identifier of the Process flow href: type: string description: Reference of the ProcessFlow eventId: type: string description: The identifier of the notification. eventTime: type: string format: date-time description: Time of the event occurrence. eventType: type: string description: The type of the notification. correlationId: type: string description: The correlation id for this event. domain: type: string description: The domain of the event. title: type: string description: The title of the event. description: type: string description: An explnatory of the event. priority: type: string description: A priority. timeOcurred: type: string format: date-time description: The time the event occured. event: description: The event payload linked to the involved resource object $ref: '#/definitions/MonitorStateChangeEventPayload' MonitorStateChangeEventPayload: type: object description: The event data structure properties: monitor: description: The involved resource data for the event $ref: '#/definitions/Monitor' MonitorDeleteEvent: type: object description: The notification data structure properties: id: type: string description: Identifier of the Process flow href: type: string description: Reference of the ProcessFlow eventId: type: string description: The identifier of the notification. eventTime: type: string format: date-time description: Time of the event occurrence. eventType: type: string description: The type of the notification. correlationId: type: string description: The correlation id for this event. domain: type: string description: The domain of the event. title: type: string description: The title of the event. description: type: string description: An explnatory of the event. priority: type: string description: A priority. timeOcurred: type: string format: date-time description: The time the event occured. event: description: The event payload linked to the involved resource object $ref: '#/definitions/MonitorDeleteEventPayload' MonitorDeleteEventPayload: type: object description: The event data structure properties: monitor: description: The involved resource data for the event $ref: '#/definitions/Monitor' Error: description: Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx) type: object required: - code - reason properties: code: type: string description: Application relevant detail, defined in the API or a common list. reason: type: string description: Explanation of the reason for the error which can be shown to a client user. message: type: string description: More details and corrective actions related to the error which can be shown to a client user. status: type: string description: HTTP Error code extension referenceError: type: string format: uri description: URI of documentation describing the error. '@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.