swagger: '2.0'
info:
title: Resource Ordering Management
description: This is Swagger UI environment generated for the TMF Resource Ordering Management specification
version: 4.0.0
host: api.mtn.com
basePath: /tmf-api/resourceOrderingManagement/v4/
schemes:
- https
consumes:
- application/json;charset=utf-8
produces:
- application/json;charset=utf-8
tags:
- name: resourceOrder
paths:
/resourceOrder:
post:
operationId: createResourceOrder
summary: Creates a ResourceOrder
description: This operation creates a ResourceOrder entity.
tags:
- resourceOrder
parameters:
- name: resourceOrder
description: The ResourceOrder to be created
required: true
schema:
$ref: '#/definitions/ResourceOrder_Create'
in: body
responses:
'201':
description: Created
schema:
$ref: '#/definitions/ResourceOrder'
'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'
'/resourceOrder/{id}':
get:
operationId: retrieveResourceOrder
summary: Retrieves a ResourceOrder by ID
description: This operation retrieves a ResourceOrder entity. Attribute selection is enabled for all first level attributes.
tags:
- resourceOrder
parameters:
- name: id
description: Identifier of the ResourceOrder
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/ResourceOrder'
'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:
Any: {}
AppointmentRef:
type: object
description: 'Refers an appointment, such as a Customer presentation or internal meeting or site visit'
properties:
id:
type: string
description: The identifier of the referred appointment
href:
type: string
description: The reference of the appointment
description:
type: string
description: An explanatory text regarding the appointment made with a 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
required:
- id
AttachmentRefOrValue:
type: object
description: An attachment by value or by reference.
properties:
id:
type: string
description: Unique identifier for this particular attachment
href:
type: string
description: URI for this Attachment
attachmentType:
type: string
description: 'Attachment type such as video, picture'
description:
type: string
description: A narrative text describing the content of the attachment
isRef:
default: true
type: boolean
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:
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'
SIMNumber:
type: string
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'
ExternalId:
type: object
description: 'An identification of an entity that is owned by or originates in a software system different from the current system, for example a ProductOrder handed off from a commerce platform into an order handling system. The structure identifies the system itself, the nature of the entity within the system (e.g. class name) and the unique ID of the entity within the system. It is anticipated that multiple external IDs can be held for a single entity, e.g. if the entity passed through multiple systems on the way to the current system. In this case the consumer is expected to sequence the IDs in the array in reverse order of provenance, i.e. most recent system first in the list.'
required:
- entityType
- id
- owner
properties:
id:
type: string
description: ID of the entity within the external system.
entityType:
type: string
description: Type of the entity within the external system
owner:
type: string
description: Name of the external system that owns the 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'
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'
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.
required:
- '@referredType'
- id
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:
- 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.
ResourceAdministrativeStateType:
type: string
description: ResourceAdministrativeStateType enumerations
enum:
- locked
- unlocked
- shutdown
ResourceOperationalStateType:
type: string
description: ResourceOperationalStateType enumerations
enum:
- enable
- disable
ResourceOrder:
type: object
description: A Resource Order is a request to provision a set of Resources (logical and physical) triggered by the request to provision a Service through a Service Order
properties:
id:
type: string
description: Identifier of an instance of the Resource Order. Required to be unique within the resource type. Used in URIs as the identifier for specific instances of a type.
href:
type: string
description: Hyperlink to access the order
category:
type: string
description: Used to categorize the order from a business perspective that can be useful for the OM system.
completionDate:
type: string
format: date-time
description: Date when the order was completed
description:
type: string
description: free-text description of the Resource Order
expectedCompletionDate:
type: string
format: date-time
description: Date when the order was completed
externalId:
type: string
description: 'DEPRECATED: Use externalReference Instead. ID given by the consumer (to facilitate searches afterwards)'
name:
type: string
description: A string used to give a name to the Resource Order
orderDate:
type: string
format: date-time
description: Date when the order was created
orderType:
type: string
description: Name of the Resource Order type
priority:
type: integer
description: 'A way that can be used by consumers to prioritize orders in OM system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)'
requestedCompletionDate:
type: string
format: date-time
description: Requested delivery date from the requestor perspective
requestedStartDate:
type: string
format: date-time
description: Order start date wished by the requestor
startDate:
type: string
format: date-time
description: Date when the order was actually started
state:
type: string
description: The life cycle state of the resource.
externalReference:
type: array
items:
$ref: '#/definitions/ExternalId'
note:
type: array
items:
$ref: '#/definitions/Note'
orderItem:
type: array
items:
$ref: '#/definitions/ResourceOrderItem'
relatedParty:
type: array
items:
$ref: '#/definitions/RelatedParty'
'@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'
ResourceOrder_Create:
type: object
description: |-
A Resource Order is a request to provision a set of Resources (logical and physical) triggered by the request to provision a Service through a Service Order
Skipped properties: id,href
properties:
category:
type: string
description: Used to categorize the order from a business perspective that can be useful for the OM system.
completionDate:
type: string
format: date-time
description: Date when the order was completed
description:
type: string
description: free-text description of the Resource Order
expectedCompletionDate:
type: string
format: date-time
description: Date when the order was completed
externalId:
type: string
description: 'DEPRECATED: Use externalReference Instead. ID given by the consumer (to facilitate searches afterwards)'
name:
type: string
description: A string used to give a name to the Resource Order
orderDate:
type: string
format: date-time
description: Date when the order was created
orderType:
type: string
description: Name of the Resource Order type
priority:
type: integer
description: 'A way that can be used by consumers to prioritize orders in OM system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)'
requestedCompletionDate:
type: string
format: date-time
description: Requested delivery date from the requestor perspective
requestedStartDate:
type: string
format: date-time
description: Order start date wished by the requestor
startDate:
type: string
format: date-time
description: Date when the order was actually started
state:
type: string
description: The life cycle state of the resource.
externalReference:
type: array
items:
$ref: '#/definitions/ExternalId'
note:
type: array
items:
$ref: '#/definitions/Note'
orderItem:
type: array
items:
$ref: '#/definitions/ResourceOrderItem'
relatedParty:
type: array
items:
$ref: '#/definitions/RelatedParty'
'@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'
ResourceOrderItem:
type: object
description: An identified part of the order. A resource order is decomposed into one or more order items.
properties:
id:
type: string
description: 'Identifier of the line item (generally it is a sequence number 01, 02, 03, ...)'
action:
type: string
description: Can be "add" / "modify" / "no_change"/ "delete"
quantity:
type: integer
description: Quantity ordered
state:
type: string
description: 'State of the order item : described in the state machine diagram'
appointment:
$ref: '#/definitions/AppointmentRef'
orderItemRelationship:
type: array
items:
$ref: '#/definitions/ResourceOrderItemRelationship'
resource:
$ref: '#/definitions/ResourceRefOrValue'
resourceSpecification:
$ref: '#/definitions/ResourceSpecificationRef'
'@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'
ResourceOrderItemRef:
type: object
properties:
itemId:
type: string
description: Identifier of the line item
resourceOrderHref:
type: string
description: Link to the order to which this item belongs to
resourceOrderId:
type: string
description: Identifier of the order that this item belongs to
'@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
ResourceOrderItemRelationship:
type: object
properties:
relationshipType:
type: string
description: Type of the order item relationship
orderItem:
$ref: '#/definitions/ResourceOrderItemRef'
'@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'
ResourceRefOrValue:
type: object
description: 'Resource is an abstract entity that describes the common set of attributes shared by all concrete resources. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Resource entity and not the related ResourceRefOrValue 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
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
properties:
id:
type: string
description: id of the related resource.
href:
type: string
description: href of the related resource.
relationshipType:
type: string
resourceRelationshipCharacteristic:
type: array
items:
$ref: '#/definitions/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'
ResourceSpecificationRef:
type: object
description: 'Resource Specification reference: The ResourceSpecification is required to realize a ProductSpecification.'
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.
required:
- id
ResourceStatusType:
type: string
description: ResourceStatusType enumerations
enum:
- standby
- alarm
- available
- reserved
- unknown
- suspended
ResourceUsageStateType:
type: string
description: ResourceUsageStateType enumerations
enum:
- idle
- active
- busy
TimePeriod:
type: object
description: 'A period of time, either as a deadline (endDateTime only) a startDateTime only, or both'
properties:
endDateTime:
type: string
format: date-time
description: 'End of the time period, using IETC-RFC-3339 format'
startDateTime:
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'
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.'