To login with your TM Forum account please click on the Login button below

Don't have an account? You can register by clicking here:

For every single of operation on the entities use the following templates and provide sample REST requests and responses.
Remember that the following Uniform Contract rules must be used :

Operation on Entities

Uniform API Operation

Description

Create measurementCollectionJob

POST measurementCollectionJob

Create measurementCollectionJob

Query measurementCollectionJob

GET measurementCollectionJob

Query measurementCollectionJob

Complete Update of measurementCollectionJob

PUT measurementCollectionJob

Complete Update measurementCollectionJob

Partial Update measurementCollectionJob

PATCH measurementCollectionJob

Partial Update measurementCollectionJob

Delete measurementCollectionJob

DELETE measurementCollectionJob

Delete measurementCollectionJob

Create measurementProductionJob

POST measurementProductionJob

Create measurementProductionJob

Query measurementProductionJob

GET measurementProductionJob

Query measurementProductionJob

Complete Update measurementProductionJob

PUT measurementProductionJob

Complete Update measurementProductionJob

Partial Update measurementProductionJob

PATCH measurementProductionJob

Partial Update measurementProductionJob

Delete measurementProductionJob

DELETE measurementProductionJob

Delete measurementProductionJob

Create adhocCollection

POST adhocCollection

Create adhocCollection

Query adhocCollection

GET adhocCollection

Query adhocCollection

Delete adhocCollection

DELETE adhocCollection

Delete adhocCollection

Query trackingRecord

GET trackingRecord

Query trackingRecord


Filtering and attribute selection rules are described in the TMF REST Design Guidelines.
Notifications are also described in a subsequent section.

GET /api/measurementCollectionJob/{ID}

Description :

  • This Uniform Contract operation is used to retrieve the representation of measurementCollectionJob using id.
  • Collection of jobs can be retrieved via GET /api/<RESOURCE> with no {ID}


Behavior :

  • 200 OK – request was successfull
  • 404 Not Found.

Example:

REQUEST

GET /api/measurementCollectionJob/collJob001
Accept: application/json

RESPONSE

200
Content-Type: application/json

{
"id": "collJob001",
"creationTime": "11-26-2014 16:00:00 +0530",
"lastModifiedTime": "11-26-2014 16:00:00 +0530",
"adminState": "UNLOCKED",
"jobPriority": "5",
"executionState": "EXECUTING",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"reportingPeriod": "R_15MN",
"outputFormat": "3GPP",
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
}


Retrieving all jobs – returns an array/list of measurementCollectionJobs

  • GET /api/measurementCollectionJob

Retrieving all jobs with AdminState as LOCKED

  • GET /api/measurementCollectionJob?adminState=LOCKED

Retrieve a job with ID, but only the attributes executionState & scheduleDefinition in response.

  • GET /api/measurementCollectionJob/1/executionState,scheduleDefinition

GET /api/measurementProductionJob/{ID}

Description :

  • This Uniform Contract operation is used to retrieve the representation of measurementProductionJob using id.
  • Collection of jobs can be retrieved via GET /api/<RESOURCE> with no {ID}

Behavior :

  • 200 OK – request was successfull
  • 404 Not Found.

Example:

REQUEST

GET /api/measurementProductionJob/collJob001
Accept: application/json

RESPONSE

200
Content-Type: application/json

{
"id": "prodJob001",
"creationTime": "11-26-2013 16:00:00 +0530",
"lastModifiedTime": "11-26-2013 16:00:00 +0530",
"adminState": "UNLOCKED",
"jobPriority": "5",
"executionState": "EXECUTING",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
}



Retrieving all jobs – returns an array/list of measurementProductionJobs

  • GET /api/measurementProductionJob

Retrieving all jobs with AdminState as LOCKED

  • GET /api/measurementProductionJob?adminState=LOCKED

Retrieve a job with ID, but only the attributes executionState & scheduleDefinition in response.

  • GET /api/measurementProductionJob/1/executionState,scheduleDefinition

 

GET /api/adhocCollection/{ID}

Description :

  • This Uniform Contract operation is used to retrieve the representation of adhocCollection using id.
  • Collection of jobs can be retrieved via GET /api/<RESOURCE> with no {ID}

Behavior :

  • 200 OK – request was successfull
  • 404 Not Found.

Example:

REQUEST

GET /api/adhocCollection/collJob001
Accept: application/json

RESPONSE

200
Content-Type: application/json

{
"id": "adhocJob001",
"creationTime": "11-26-2014 16:00:00 +0530",
"lastModifiedTime": "11-26-2014 16:00:00 +0530",
"adminState": "UNLOCKED",
"jobPriority": "5",
"executionState": "EXECUTING",
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"collectionPeriod": {
"units": "MINUTES",
"amount": "120"
},
"outputFormat": "3GPP",
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
}


Retrieving all jobs – returns an array/list of adhocCollections

  • GET /api/adhocCollection

Retrieving all adhocCollections with AdminState as LOCKED

  • GET /api/adhocCollection?adminState=LOCKED

Retrieve a job with ID, but only the attributes granularity & protocolTransferData in response.

  • GET /api/measurementCollectionJob/1/granularity,protocolTransferData

 

PUT /api/measurementCollectionJob/{ID}

Description :

  • This Uniform Contract operation is used to modify any specified 'measurementCollectionJob' identified by the id.


Behavior :

  • 200 OK – request was successfull
  • 404 Not Found.

Example:

REQUEST

PUT /api/measurementCollectionJob/collJob001
Accept: application/json
Content-Type: application/json

{
"id": "collJob001",
"creationTime": "11-26-2014 16:00:00 +0530",
"lastModifiedTime": "11-26-2014 16:00:00 +0530",
"adminState": "UNLOCKED",
"jobPriority": "5",
"executionState": "EXECUTING",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"reportingPeriod": "R_15MN",
"outputFormat": "3GPP",
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
}

RESPONSE

200
Content-Type: application/json

{
"id": "collJob001",
"creationTime": "11-26-2014 16:00:00 +0530",
"lastModifiedTime": "11-26-2014 16:00:00 +0530",
"adminState": "UNLOCKED",
"jobPriority": "5",
"executionState": "EXECUTING",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"reportingPeriod": "R_15MN",
"outputFormat": "3GPP",
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
}

 

PUT /api/measurementProductionJob/{ID}

Description :

  • This Uniform Contract operation is used to modify any specified 'measurementProductionJob' identified by the id.


Behavior :

  • 200 OK – request was successfull
  • 404 Not Found.

Example:

REQUEST

PUT /api/measurementProductionJob/collJob001
Accept: application/json
Content-Type: application/json

{
"id": "prodJob001",
"creationTime": "11-26-2013 16:00:00 +0530",
"lastModifiedTime": "11-26-2013 16:00:00 +0530",
"adminState": "UNLOCKED",
"jobPriority": "5",
"executionState": "EXECUTING",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
}

RESPONSE

200
Content-Type: application/json

{
"id": "prodJob001",
"creationTime": "11-26-2013 16:00:00 +0530",
"lastModifiedTime": "11-26-2013 16:00:00 +0530",
"adminState": "UNLOCKED",
"jobPriority": "5",
"executionState": "EXECUTING",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
}

 

PUT /api/adhocCollection/{ID}

Description :

  • This Uniform Contract operation is used to modify any specified 'adhocCollection' identified by the id.


Behavior :

  • 200 OK – request was successfull
  • 404 Not Found.

Example:

REQUEST

PUT /api/adhocCollection/collJob001
Accept: application/json
Content-Type: application/json

{
"id": "adhocJob001",
"creationTime": "11-26-2014 16:00:00 +0530",
"lastModifiedTime": "11-26-2014 16:00:00 +0530",
"adminState": "UNLOCKED",
"jobPriority": "5",
"executionState": "EXECUTING",
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"collectionPeriod": {
"units": "MINUTES",
"amount": "120"
},
"outputFormat": "3GPP",
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
}

RESPONSE

200
Content-Type: application/json

{
"id": "adhocJob001",
"creationTime": "11-26-2014 16:00:00 +0530",
"lastModifiedTime": "11-26-2014 16:00:00 +0530",
"adminState": "UNLOCKED",
"jobPriority": "5",
"executionState": "EXECUTING",
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"collectionPeriod": {
"units": "MINUTES",
"amount": "120"
},
"outputFormat": "3GPP",
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
}



Example see TMF REST Design Guidelines.

PATCH /api/measurementCollectionJob/{ID}

Description :

  • This Uniform Contract operation is used to partially update the representation of a measurementCollectionJob identified by its id.
  • Resource represents a managed entity.

Behavior :

  • 200 OK – request was successfull
  • 404 Not Found.

Example:

REQUEST

PATCH /api/measurementCollectionJob/collJob001
Accept: application/json
Content-Type: application/json

{
"adminState": "1"
}

RESPONSE

200
Content-Type: application/json

{
"id": "collJob001",
"creationTime": "11-26-2014 16:00:00 +0530",
"lastModifiedTime": "11-26-2014 16:00:00 +0530",
"adminState": "1",
"jobPriority": "5",
"executionState": "EXECUTING",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"reportingPeriod": "R_15MN",
"outputFormat": "3GPP",
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
}

 

PATCH /api/measurementProductionJob/{ID}

Description :

  • This Uniform Contract operation is used to partially update the representation of a measurementProductionJob identified by its id.
  • Resource represents a managed entity.

Behavior :

  • 200 OK – request was successfull
  • 404 Not Found.

Example:

REQUEST

PATCH /api/measurementProductionJob/collJob001
Accept: application/json
Content-Type: application/json

{
"jobPriority": "6"
}

RESPONSE

200
Content-Type: application/json

{
"id": "prodJob001",
"creationTime": "11-26-2013 16:00:00 +0530",
"lastModifiedTime": "11-26-2013 16:00:00 +0530",
"adminState": "UNLOCKED",
"jobPriority": "6",
"executionState": "EXECUTING",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
}

 

PATCH /api/adhocCollection/{ID}

Description :

  • This Uniform Contract operation is used to partially update the representation of a adhocCollectionJob identified by its id.
  • Resource represents a managed entity.

Behavior :

  • 200 OK – request was successfull
  • 404 Not Found..

Example:

REQUEST

PATCH /api/adhocCollection/adhocJob001
Accept: application/json
Content-Type: application/json

{
"consumingApplicationId": "CONSUMER002",
}

RESPONSE

200
Content-Type: application/json

{
"id": "adhocJob001",
"creationTime": "11-26-2014 16:00:00 +0530",
"lastModifiedTime": "11-26-2014 16:00:00 +0530",
"adminState": "UNLOCKED",
"jobPriority": "5",
"executionState": "EXECUTING",
"consumingApplicationId": "CONSUMER002",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"collectionPeriod": {
"units": "MINUTES",
"amount": "120"
},
"outputFormat": "3GPP",
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
}



Example see TMF REST Design Guidelines.

POST /api/measurementCollectionJob

Description :

  • This Uniform Contract operation is used to create the representation of any specified 'measurementCollectionJob'.

Behavior :

  • 201 OK – job created successfully
  • 404 Not Found.

Example:

REQUEST

POST /api/measurementCollectionJob
Accept: application/json
Content-Type: application/json

{
"id": "collJob001",
"creationTime": "11-26-2014 16:00:00 +0530",
"lastModifiedTime": "11-26-2014 16:00:00 +0530",
"adminState": "UNLOCKED",
"jobPriority": "5",
"executionState": "EXECUTING",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"reportingPeriod": "R_15MN",
"outputFormat": "3GPP",
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
}

RESPONSE

201
Content-Type: application/json

{
"id": "collJob001",
"creationTime": "11-26-2014 16:00:00 +0530",
"lastModifiedTime": "11-26-2014 16:00:00 +0530",
"adminState": "UNLOCKED",
"jobPriority": "5",
"executionState": "EXECUTING",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"reportingPeriod": "R_15MN",
"outputFormat": "3GPP",
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
}


Example see TMF REST Design Guidelines.

POST /api/measurementProductionJob


Description :

  • This Uniform Contract operation is used to create the representation of any specified 'measurementProductionJob'..


Behavior :

  • 201 OK – job created successfully
  • 404 Not Found.

Example:

REQUEST

PUT /api/measurementProductionJob
Accept: application/json
Content-Type: application/json

{
"id": "prodJob001",
"creationTime": "11-26-2013 16:00:00 +0530",
"lastModifiedTime": "11-26-2013 16:00:00 +0530",
"adminState": "UNLOCKED",
"jobPriority": "5",
"executionState": "EXECUTING",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
}

RESPONSE

201
Content-Type: application/json

{
"id": "prodJob001",
"creationTime": "11-26-2013 16:00:00 +0530",
"lastModifiedTime": "11-26-2013 16:00:00 +0530",
"adminState": "UNLOCKED",
"jobPriority": "5",
"executionState": "EXECUTING",
"scheduleDefinition": {
"type": "RecurringScheduleDefinition",
"scheduleInfo": {
"scheduleDefinitionStartTime": "11-26-2013 16:00:00 +0530",
"scheduleDefinitionEndTime": "11-26-2014 16:00:00 +0530"
}
},
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
}


Example see TMF REST Design Guidelines.

POST /api/adhocCollection

Description :

  • This Uniform Contract operation is used to create the representation of any specified 'adhocCollection'.


Behavior :

  • 201 OK – request was successfull
  • 404 Not Found.

Example:

REQUEST

POST /api/adhocCollection
Accept: application/json
Content-Type: application/json

{
"id": "adhocJob001",
"creationTime": "11-26-2014 16:00:00 +0530",
"lastModifiedTime": "11-26-2014 16:00:00 +0530",
"adminState": "UNLOCKED",
"jobPriority": "5",
"executionState": "EXECUTING",
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"collectionPeriod": {
"units": "MINUTES",
"amount": "120"
},
"outputFormat": "3GPP",
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
}

RESPONSE

201
Content-Type: application/json

{
"id": "adhocJob001",
"creationTime": "11-26-2014 16:00:00 +0530",
"lastModifiedTime": "11-26-2014 16:00:00 +0530",
"adminState": "UNLOCKED",
"jobPriority": "5",
"executionState": "EXECUTING",
"consumingApplicationId": "CONSUMER001",
"producingApplicationId": "NE001",
"granularity": "G_15MN",
"monitoredObjectsCriteria": {
"type": "MonitoredClassCriteria",
"monitoredObjectInfo": { "monitoredObjectClass": "SDH-Route" }
},
"protocolTransferData": {
"transportProtocol": "FILE_TRANSFER",
"fileTransferData": {
"fileLocation": "\\pm
pmdata",
"fileFormat": "XML",
"compressionType": "NO_COMPRESSION",
"retentionDuration": {
"units": "MINUTES",
"amount": "180"
},
"packingType": "NO_PACKING"
}
},
"collectionPeriod": {
"units": "MINUTES",
"amount": "120"
},
"outputFormat": "3GPP",
"performanceIndicatorGroup": [
{ "name": "TRANSPORT01" },
{ "name": "TRANSPORT02" }
],
"performanceIndicatorSpecification": [
{ "name": "ES" },
{ "name": "SES" },
{ "name": "UAS" },
{ "name": "BBE" },
{ "name": "FEBBE" },
{ "name": "FEES" },
{ "name": "FESES" },
{ "name": "FEUAS" },
{ "name": "UASBID" },
{ "name": "LINK_AVAIL_PCT" }
]
}


Example see TMF REST Design Guidelines.

DELETE /api/measurementCollectionJob/{ID}

This Uniform Contract operation is used to delete a managed entity or a task.
Description :

  • This operation is used to delete any specified 'measurementCollectionJob' by the job's id .

Behavior :

  • 200 OK – request was successfull
  • 404 Not Found.

Example:

REQUEST

DELETE /api/measurementCollectionJob/collJob0001

RESPONSE

200


Example see TMF REST Design Guidelines.

DELETE /api/measurementProductionJob/{ID}

This Uniform Contract operation is used to delete a managed entity or a task.
Description :

  • This operation is used to delete any specified 'measurementProductionJob' by the job's id .

Behavior :

  • 200 OK – request was successfull
  • 404 Not Found.

Example:

REQUEST

DELETE /api/measurementProductionJob/prodJob0001

RESPONSE

200


Example see TMF REST Design Guidelines.

DELETE /api/adhocCollection/{ID}

This Uniform Contract operation is used to delete a managed entity or a task.
Description :

  • This operation is used to delete any specified 'adhocCollection' by the job's id .

Behavior :

  • 200 OK – request was successfull
  • 404 Not Found.

Example:

REQUEST

DELETE /api/adhocCollection/adhocCollJob0001

RESPONSE

200


Example see TMF REST Design Guidelines.

GET /api/trackingRecord/{ID}

Description :

  • This Uniform Contract operation is used to retrieve the collection of tracking records belonging to a job via the job's id.


Behavior :

  • 200 OK – request was successfull
  • 404 Not Found.

Example:

REQUEST

GET /api/trackingRecord/collJob001
Accept: application/json

RESPONSE

200
Content-Type: application/json

{
"trackingRecord": [
{ "id": "1",
"jobId": "collJob001",
"jobType": "measurementCollectionJob",
"description": "measurementCollectionJob Created successfully",
"time": "11-26-2014 16:00:00 +0530",
"userId": "root",
"systemId": "tmfPm" },
{ "id": "2",
"jobId": "collJob001",
"jobType": "measurementCollectionJob",
"description": "measurementCollectionJob Completed successfully",
"time": "11-26-2014 16:01:00 +0530",
"userId": "root",
"systemId": "tmfPm"
}]
}

POST API/getSupportedObjectClassesTask

This Uniform Contract operation retrieves supported object classes.
Description :

  • Shall return all identifiers of object classes supported by the interface.

Behavior :

  • 200 OK – requst was successfull
  • 404 Not Found.

    REQUEST

    POST API/getSupportedObjectClassesTask
    Content-type: application/json

    RESPONSE

    201
    Content-Type: application/json

    {
    "supportedObjectClasses": [
    "Blade",
    "VC4",
    "E1-Link"
    ]
    }

    POST API/getSupportedObjectsTask

    This Uniform Contract operation list supported objects Instances for the specified Object Class. Object Class specification is optional, & when no Object Class is specified, all Object Instances shall be returned.
    Description :
  • Returns all Object Instances supported by the interface (either all or scoped by the Object Class)

Behavior :

  • 200 OK – requst was successfull
  • 404 Not Found.

    REQUEST

    POST API/getSupportedObjectsTask
    Content-type: application/json

    {
    "inputClass": "Blade"
    }

    RESPONSE

    201
    Content-Type: application/json

    {
    "supportedObjects": {
    "Object": [
    "/md1/Node1",
    "/md1/Node1/If1"
    ]
    }
    }

    POST API/getSupportedIndicatorGroupsTask

    This Uniform Contract operation retrieves supported Indicator Groups. Object Class specification is optional, & when no object Class is specified, all indicator groups shall be returned.
    Description:
  • Returns all indicator groups supported by the interface (either all or scoped by Object Class)

Behavior :

  • 200 OK – requst was successfull
  • 404 Not Found.

    REQUEST

    POST API/getSupportedIndicatorGroupsTask
    Content-type: application/json

    {
    "inputClass": "Blade"
    }

    RESPONSE

    201
    Content-Type: application/json

    {    "supportedIndicatorGroups": [      "Groups_1",      "Groups_2"    ]}

    POST API/getSupportedIndicatorsTask

    This Uniform Contract operation retrieves supported Indicators. Object Class, Indicator Group specification shall be used to scope the result.
    Description:
  • Returns all indicators supported by the provided Object class and/or Indicator group.
  • If indicator group is provided in input only the indicator instances related to the input object class & specified group shall be returned

Behavior :

  • 200 OK – requst was successfull
  • 404 Not Found.

    REQUEST

    POST API/getSupportedIndicatorsTask
    Content-type: application/json

    {
    "inputClass": "Blade"
    "inputIndicatorGroup": "Group1"
    }

    RESPONSE

    201
    Content-Type: application/json

    {    "supportedIndicators": [      "SES",      "BBE"    ]}

    POST API/getSupportedTransportTask

    This Uniform Contract operation retrieves supported transport supported.
    Description:
  • Returns supported transports

Behavior :

  • 200 OK – requst was successfull
  • 404 Not Found.

    REQUEST

    POST API/getSupportedTransportTask
    Content-type: application/json

    RESPONSE

    201
    Content-Type: application/json

    {
    "supportedTransport": [
    "SFTP",
    "TFTP"
    ]
    }

    POST API/getSupportedFileFormatTask

    This Uniform Contract operation retrieves supported file formats.
    Description:
  • Returns supported file formats

Behavior :

  • 200 OK – requst was successfull
  • 404 Not Found.

    REQUEST

    POST API/getSupportedFileFormatTask
    Content-type: application/json

    RESPONSE

    201
    Content-Type: application/json

    {
    "supportedFileFormat": [
    "3GPP",
    "MTOSI"
    ]
    }

    POST API/getCommonIndicatorGroupsGranularitiesTask

    This Uniform Contract operation retrieves the list of granularities which are common to a set of indicator groups.
    Description:
  • Returns common granularities for a set of indicator groups

Behavior :

  • 200 OK – requst was successfull
  • 404 Not Found.

 

REQUEST

POST API/ getCommonIndicatorGroupsGranularitiesTask
Content-type: application/json
{
"inputIndicatorGroups": ["Grp_1", "Grp_2"]
}

RESPONSE

201
Content-Type: application/json

{
"commonGranularities": [
"G_15MN",
"G_30MN"
]
}

POST API/getCommonIndicatorsGranularitiesTask

This Uniform Contract operation retrieves the list of granularities which are common to a set of indicators.
Description:

  • Returns common granularities for a set of indicators

Behavior :

  • 200 OK – requst was successfull
  • 404 Not Found.

    REQUEST

    POST API/ getCommonIndicatorGroupsGranularitiesTask
    Content-type: application/json
    {
    "inputIndicators": ["SES", "BBE"]
    }

    RESPONSE

    201
    Content-Type: application/json
    {
    "commonGranularities ": [
    "G_15MN",
    "G_30MN"
    ]
    }

    POST API/listAvailableFilesTask

    This Uniform Contract operation list available files for a given job & time scope.
    Description :
  • Returns all files generated by the server and available for download

Behavior :

  • 200 OK – requst was successfull
  • 404 Not Found.

    REQUEST

    POST API/listAvailableFilesTask
    Content-type: application/json

    {
    "JobId": "1234",
    "beginTime": "19_08_2013_23:00:00",
    "endTime": "19_08_2013_23:30:00",
    }

    RESPONSE

    201
    Content-Type: application/json

    {
    "JobId": "1234",
    "beginTime": "19_08_2013_23:00:00",
    "endTime": "19_08_2013_23:30:00",
    "FileInfo": [
    "JOB1234_YYY_19_08_2013_23:15:00",
    "JOB1234_YYY_19_08_2013_23:30:00"
    ]
    }


© TM Forum 2015. All Rights Reserved.