TMF685 Resource Pool Userguide
TMF685 Resource Pool Userguide
TMF685
NOTICE
Copyright © TM Forum 2024. All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative
works that comment on or otherwise explain it or assist in its implementation may be
prepared, copied, published, and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this section are included on all such
copies and derivative works. However, this document itself may not be modified in any way,
including by removing the copyright notice or references to TM FORUM, except as needed
for the purpose of developing any document or deliverable produced by a TM FORUM
Collaboration Project Team (in which case the rules applicable to copyrights, as set forth in
the TM FORUM IPR Policy, must be followed) or as required to translate it into languages
other than English.
The limited permissions granted above are perpetual and will not be revoked by TM FORUM
or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and TM
FORUM DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL
NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Table of Contents
NOTICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Sample Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
UC: PhoneNumber Pool Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Support of polymorphism and extension patterns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
RESOURCE MODEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Managed Entity and Task Resource Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
CapacitySpecification resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
ResourcePoolSpecification resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
ResourcePool resource. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
AvailabilityCheck resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Push resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Extract resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Notification Resource Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
CapacitySpecification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
ResourcePoolSpecification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
ResourcePool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
AvailabilityCheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Push . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Extract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
API OPERATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Operations on CapacitySpecification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Retrieves a CapacitySpecification by ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
List or find CapacitySpecification objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Creates a CapacitySpecification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Updates partially a CapacitySpecification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Deletes a CapacitySpecification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Operations on ResourcePoolSpecification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
List or find ResourcePoolSpecification objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Retrieves a ResourcePoolSpecification by ID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Creates a ResourcePoolSpecification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Updates partially a ResourcePoolSpecification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Deletes a ResourcePoolSpecification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Operations on ResourcePool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
List or find ResourcePool objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Retrieves a ResourcePool by ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Creates a ResourcePool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Updates partially a ResourcePool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Deletes a ResourcePool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Operations on AvailabilityCheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Introduction
The following document is the user guide of the REST API for Resource Pool management.
It includes the model definition as well as all available operations.
The CSP splits that range into smaller parts, each dedicated to one of CSP’s partners. For
each partner, CSP creates a Resource Pool for Phone Numbers (attaching Phone Number
ResourceSpecification to the Pool), with the corresponding Capacity, and fills the respective
Phone Number Resources into the Pool by a Push task.
Before the CSP can create the individual Resource Pools, he sets up a
ResourcePoolSpecification; to be able to attach capacities, a CapacitySpecification is
needed.
A partner can then (via the Resource Reservation API, as part of the pre-order process)
request reservation of individual Phone Numbers.
Precondition:
create CapacitySpecification
create ResourcePoolSpecification
loop [ fo r e a ch Pa r t n e r ]
create ResourcePool for Phone Numbers (Resources) and Partner
available capacity
order
place order
Note: The inclusion of Resource Reservation and Order in the diagram is out of scope of the
functionality of the Resource Pool, but shown here only for reasons of illustration.
Remark: Although CSP and/or Partner might not be persons, but e.g. automated
applications on CSP resp. Partenr side, they are shown as persons, to symbolize that from
the Enterprise’s perspective the occurrence of their requests is out of the Enterprise’s
control.
The Pool can be filled by either pushing Resource instances into it, or by updating the Pool
with additional Capacities.
The Pool can be queried for a specific amount (capacityDemand) of Resources, and returns
possible options to fulfill the demand. The availabilty check only returns available capacities,
not any individual resources. This avoids that the Resources are used by some follow-up
process; the Pool would then loose control of whether the Resources are still available in the
Pool of have been used elsewhere.
To get individual Resources from the Pool, they can be extracted. Resources that are
extracted from the Pool may or may not be stored in the Resource inventory. How
instantiation of Resources is handled, and in particular if and by which IT component their ID
is generated, is out of scope of the management of the Resource Pool.
Generic support of polymorphism and pattern extensions is described in the TMF API
Guidelines, Part 2 (TMF630).
The @type attribute provides a way to represent the actual class type of an entity. For
example, within a list of Account instances some may be instances of BillingAccount where
other could be instances of SettlementAccount. The @type gives this information. All
resources and sub-resources of this API have a @type attributes that can be provided when
this is useful.
The @referredType can be used within reference entities (like for instance an AccountRef
object) to explicitly denote the actual entity type of the referred class. Notice that in reference
entities the @type, when used, denotes the class type of the reference itself, such as
BillingAccountRef or SettlementAccountRef, and not the class type of the referred object.
However since reference classes are rarely sub-classed, @type is generally not useful in
reference objects.
The @baseType attribute gives a way to provide explicitly the base of class of a given
resource that has been extended.
RESOURCE MODEL
Managed Entity and Task Resource Models
CapacitySpecification resource
Capacity is a specific amount of an entity measured in quantity and units of quantity over an
extended period. In essence, a CapacitySpecification defines the common attributes and
relationships of a set of related Capacities, while Capacity defines a specific instance that is
based on a particular CapacitySpecification.
Resource model
Figure 1 - CapacitySpecification
Field descriptions
CapacitySpecification fields
{
"@type": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number range",
"description": "This CapacitySpecification defines the details of capacity for
Phone Number ranges.",
"capacityCharacteristicSpecification":
[
{
"@type": "CharacteristicSpecification",
"name": "lowerNumber",
"description": "the lower boundary of a block of phone numbers; phone
numbers consist of a country code (cc), national destination code (ndc), subscriber
number (sn), and optionally a direct dial in (ddi), all sections separated by '-'",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-(?<sn>[1-
9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "upperNumber",
"description": "the upper boundary of a block of phone numbers; phone
numbers consist of a country code (cc), national destination code (ndc), subscriber
number (sn), and optionally a direct dial in (ddi), all sections separated by '-'",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-(?<sn>[1-
9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
}
]
}
ResourcePoolSpecification resource
Defines the common characteristics of a specific kind of Resource Pools, including the types
of Capacities that can be handled by Pools of this type. Resource Pools are managed as
(Logical) Resources, and accordingly Resource Pool Specifications are managed the same
way as (Logical) Resource Specification, e.g. put into the Resource Catalog.
Resource model
Figure 2 - ResourcePoolSpecification
© TM Forum 2024. All Rights Reserved. Page 13
Resource Pool Management User Guide
Figure 3 - ResourceSpecification
Field descriptions
ResourcePoolSpecification fields
lastUpdate A DateTime. Date and time of the last update of this REST
resource.
lifecycleStatus A String. Used to indicate the current lifecycle status of the
resource specification.
name A String. Name given to this REST resource.
relatedParty A RelatedPartyRefOrPartyRoleRef. RelatedParty reference. A
related party defines party or party role or its reference, linked to
a specific entity.
resourceSpecCharacteristic A CharacteristicSpecification. This class defines a characteristic
specification.
resourceSpecRelationship A ResourceSpecificationRelationship. A migration, substitution,
dependency or exclusivity relationship between/among resource
specifications.
targetResourceSchema A TargetResourceSchema. The reference object to the schema
and type of target resource which is described by resource
specification.
validFor A TimePeriod. A period of time, either as a deadline
(endDateTime only) a startDateTime only, or both.
version A String. Resource Specification version.
@baseType A String. When sub-classing, this defines the super-class.
@schemaLocation A String. A URI to a JSON-Schema file that defines additional
attributes and relationships.
@type A String. When sub-classing, this defines the sub-class
Extensible name.
LogicalResourceSpecification can be instanciated as
* ResourcePoolSpecification
capacitySpecification This property is present in subclasses
{
"@type": "ResourcePoolSpecification",
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"name": "Phone Number pool",
"description": "Specifies the details of ResourcePools for Phone Number ranges",
"capacitySpecification":
[
{
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number range"
}
],
"resourceSpecCharacteristic":
[
{
"@type": "CharacteristicSpecification",
"name": "cc",
"description": "Phone Number Country Code",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d{0,2}$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "ndc",
"description": "Phone Number National Destination Code",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d*?$"
}
]
}
]
}
ResourcePool resource
Represents a set of Resource of a given type (represented by a ResourceSpecification),
without the need to instantiate all Resource entities, e.g. all phone numbers in a given range.
The amount of Resources in th pool is modelled as Capacity. The Pool can be querried for
some amount (Capacity) of availabile resources; actual Resource instances can be pushed
into the pool, and contained Resources can be extracted. The Pool itself is understood to be
a (Logical) Resource in itself, so it can be managed the same way as any other Resource,
e.g. put into the Resource inventory, and can be associated with some Party and located at
some Place.
Resource model
Figure 4 - ResourcePool
Figure 5 - Capacity
Figure 6 - Resource
Field descriptions
ResourcePool fields
administrativeState A ResourceAdministrativeStateType.
ResourceAdministrativeStateType enumerations; values defined
by ITU X.731: 'locked': The resource is administratively
prohibited from performing services for its users; 'shutdown': Use
of the resource is administratively permitted to existing instances
of use only. While the system remains in the shutting down state
the manager may at any time cause the managed object to
revert to the unlocked state; 'unlocked': The resource is
administratively permitted to perform services for its users. This
is independent of its inherent operability. ENUMERATED with
values:
* locked
* unlocked
* shutdown
attachment An AttachmentRef. Attachment reference. An attachment
complements the description of an element (for instance a
product) through video, pictures.
category A String. Category of the concrete resource. e.g Gold, Silver for
MSISDN concrete resource.
description A String. Free-text description of the resource.
endOperatingDate A DateTime. A date time( DateTime). The date till the resource is
operating.
externalIdentifier An ExternalIdentifier. 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.
href A String. Hyperlink reference.
id A String. Unique identifier.
intent An IntentRef. Intent reference, for when Intent is used by other
entities.
name A String. The name of the resource.
note A Note. Extra information about a given entity.
operationalState A ResourceOperationalStateType.
ResourceOperationalStateType enumerations; values defined by
ITU X.731: 'disable': The resource is totally inoperable and
unable to provide service to the user(s); 'enable': The resource is
partially or fully operable and available for use. ENUMERATED
with values:
* enable
* disable
{
"@type": "ResourcePool",
"id": "c3fef858-b864-4fac-971e-795b1195ded9",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-795b1195ded9",
"name": "Phone Number block for partner MyPartner",
"description": "This Pool collects the PhoneNumber resources assigned to the
partner MyPartner.",
"pooledResourceSpecification":
{
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification",
"id": "89afac38-32e2-40f8-8be2-7b86dd03c9c9",
"href": "https://{server}:{port}/tmf-
api/resourceCatalogManagement/v5/resourceSpecification/89afac38-32e2-40f8-8be2-
7b86dd03c9c9",
"name": "Phone Number"
},
"resourceCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "cc",
"valueType": "string",
"value": "49"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "ndc",
"valueType": "string",
"value": "228"
}
],
"capacity":
[
{
"@type": "Capacity",
"id": "cf8d1665-a3cc-470c-97eb-782f226075ce",
"href": "https://{server}:{port}/tmf-
api/resourcePool/v5/capacity/cf8d1665-a3cc-470c-97eb-782f226075ce",
"name": "Capacity of Phone Number pool for MyPartner",
"capacitySpecification": {
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification"
},
"capacityStatus": "actual",
"capacityAmount":
{
"amount": 1000,
"units": "number"
},
"capacityCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
© TM Forum 2024. All Rights Reserved. Page 40
Resource Pool Management User Guide
"name": "lowerNumber",
"valueType": "string",
"value": "+49-228-181-000"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "upperNumber",
"valueType": "string",
"value": "+49-228-181-999"
}
]
}
],
"resourceSpecification":
{
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourcePoolSpecification"
},
"relatedParty":
[
{
"@type": "RelatedPartyRefOrPartyRoleRef",
"role": "Partner",
"partyOrPartyRole":
{
"@type": "PartyRef",
"@referredType": "Organization",
"id": "47abd723-d3ca-49d8-ba53-76aa62e867e9",
"href": "https://{server}:{port}/tmf-
api/partyManagement/v5/organization/47abd723-d3ca-49d8-ba53-76aa62e867e9",
"name": "MyPartner"
}
}
]
}
AvailabilityCheck resource
A task resource that queries for a demanded capacity and returns the available capacities
that can be used to fulfil the demand.
Resource model
Figure 7 - AvailabilityCheck
© TM Forum 2024. All Rights Reserved. Page 42
Resource Pool Management User Guide
Figure 8 - Capacity
Field descriptions
AvailabilityCheck fields
{
"@type": "AvailabilityCheck",
"id": "8cb645cb-279f-42f4-9d3b-72845bbfafbe",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/availabilityCheck/8cb645cb-279f-42f4-9d3b-72845bbfafbe",
"capacityDemand":
{
"@type": "Capacity",
"capacityAmount":
{
"amount": 1,
"units": "number"
}
},
"state": "inProgress"
}
Push resource
A task resource that inserts a set of individual Resource instances into a Resource Pool and
thus increases the capacity of the Pool.
Resource model
Figure 9 - Push
Field descriptions
Push fields
{
"@type": "Push",
"id": "ae63d76e-6d00-45aa-97a6-c8a2b54390e5",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/push/ae63d76e-6d00-45aa-97a6-c8a2b54390e5",
"pushedResource":
[
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "4d179a07-1555-4e5f-a2de-0a51f5dd7e15",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/4d179a07-1555-4e5f-a2de-0a51f5dd7e15"
},
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "15dfa8a7-f9db-43a8-8758-9d9df5a76264",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/15dfa8a7-f9db-43a8-8758-9d9df5a76264"
},
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "195aa8ee-7560-4d97-9b9a-2add1a4e0372",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/195aa8ee-7560-4d97-9b9a-2add1a4e0372"
}
],
"state": "inProgress"
}
Extract resource
A task resource that extracts a demanded capacity of Resources from a Resource Pool and
reduces the remaining capacity of the Pool.
© TM Forum 2024. All Rights Reserved. Page 57
Resource Pool Management User Guide
Resource model
Figure 10 - Extract
Figure 11 - Capacity
Field descriptions
Extract fields
{
"@type": "Extract",
"id": "c6a1e831-ef5b-4d09-85a8-594fca73313b",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/extract/c6a1e831-ef5b-4d09-85a8-594fca73313b",
"capacityDemand":
{
"@type": "Capacity",
"capacityAmount":
{
"amount": 2,
"units": "number"
},
"capacityStatus": "planned",
"applicableTimePeriod":
[
{
"@type": "ApplicableTimePeriod",
"fromToDateTime":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
]
},
"state": "inProgress"
}
• Create Event
• Delete Event
• Attribute Value Change Event
• Create Event
• Delete Event
• Attribute Value Change Event
• Status Change Event
• Create Event
• Delete Event
• Attribute Value Change Event
• Status Change Event
• Create Event
• Delete Event
• Create Event
• Delete Event
• State Change Event
• Create Event
• Delete Event
• State Change Event
The notification structure for all notifications in this API follow the pattern depicted by the
figure below. A notification event resource (depicted by "SpecificEvent" placeholder) is a sub
class of a generic Event structure containing at least an id of the event occurrence (eventId),
an event timestamp (eventTime), and the name of the resource (eventType). This notification
structure owns an event payload structure ("SpecificEventPayload" placeholder) linked to the
resource concerned by the notification using the resource name as access field
("resourceName" placeholder).
CapacitySpecification
Create Event
Content-Type: application/json
{
"@type": "CapacitySpecificationCreateEvent",
"@baseType": "Event",
"correlationId": "e4888f4d-71cd-43a4-a018-dd13f230935c",
"description": "CapacitySpecificationCreateEvent illustration",
"domain": "Commercial",
"eventId": "3b63e628-0c66-4d57-abbf-2fb6aeb229fd",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "CapacitySpecificationCreateEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "CapacitySpecificationCreateEvent",
"event": {
"capacitySpecification": {
"@type": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number range",
"description": "This CapacitySpecification defines the details of
capacity for Phone Number ranges.",
"capacityCharacteristicSpecification":
[
{
"@type": "CharacteristicSpecification",
"name": "lowerNumber",
"description": "the lower boundary of a block of phone numbers;
phone numbers consist of a country code (cc), national destination code (ndc),
subscriber number (sn), and optionally a direct dial in (ddi), all sections
separated by '-'",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-
(?<sn>[1-9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "upperNumber",
"description": "the upper boundary of a block of phone numbers;
phone numbers consist of a country code (cc), national destination code (ndc),
subscriber number (sn), and optionally a direct dial in (ddi), all sections
separated by '-'",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-
(?<sn>[1-9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
}
]
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
Delete Event
Content-Type: application/json
{
"@type": "CapacitySpecificationDeleteEvent",
"@baseType": "Event",
"correlationId": "5b2ca6b7-d69f-4ee7-b36e-5a4b442b14c2",
"description": "CapacitySpecificationDeleteEvent illustration",
"domain": "Commercial",
"eventId": "4dfa961e-9dc4-4cea-8e5a-2d392f8076f1",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "CapacitySpecificationDeleteEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "CapacitySpecificationDeleteEvent",
"event": {
"capacitySpecification": {
"@type": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c"
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
Content-Type: application/json
{
"@type": "CapacitySpecificationAttributeValueChangeEvent",
"@baseType": "Event",
"correlationId": "41a5ab1a-e6bd-4cfa-bd86-024dc2e13890",
"description": "CapacitySpecificationAttributeValueChangeEvent illustration",
"domain": "Commercial",
"eventId": "5bb79084-116a-4db1-9cc3-4443f500a7e0",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "CapacitySpecificationAttributeValueChangeEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "CapacitySpecificationAttributeValueChangeEvent",
"event": {
"capacitySpecification": {
"@type": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number Range"
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
ResourcePoolSpecification
Create Event
Content-Type: application/json
{
"@type": "ResourcePoolSpecificationCreateEvent",
"@baseType": "Event",
"correlationId": "e4888f4d-71cd-43a4-a018-dd13f230935c",
"description": "ResourcePoolSpecificationCreateEvent illustration",
"domain": "Commercial",
"eventId": "3b63e628-0c66-4d57-abbf-2fb6aeb229fd",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "ResourcePoolSpecificationCreateEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "ResourcePoolSpecificationCreateEvent",
"event": {
"resourcePoolSpecification": {
"@type": "ResourcePoolSpecification",
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"name": "Phone Number pool",
"description": "Specifies the details of ResourcePools for Phone Number
ranges",
"capacitySpecification":
[
{
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number range"
}
],
"resourceSpecCharacteristic":
[
{
"@type": "CharacteristicSpecification",
"name": "cc",
"description": "Phone Number Country Code",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d{0,2}$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "ndc",
"description": "Phone Number National Destination Code",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d*?$"
}
]
}
]
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
Delete Event
Content-Type: application/json
© TM Forum 2024. All Rights Reserved. Page 76
Resource Pool Management User Guide
{
"@type": "ResourcePoolSpecificationDeleteEvent",
"@baseType": "Event",
"correlationId": "5b2ca6b7-d69f-4ee7-b36e-5a4b442b14c2",
"description": "ResourcePoolSpecificationDeleteEvent illustration",
"domain": "Commercial",
"eventId": "4dfa961e-9dc4-4cea-8e5a-2d392f8076f1",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "ResourcePoolSpecificationDeleteEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "ResourcePoolSpecificationDeleteEvent",
"event": {
"resourcePoolSpecification": {
"@type": "ResourcePoolSpecification",
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb"
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
Content-Type: application/json
{
"@type": "ResourcePoolSpecificationAttributeValueChangeEvent",
"@baseType": "Event",
"correlationId": "41a5ab1a-e6bd-4cfa-bd86-024dc2e13890",
"description": "ResourcePoolSpecificationAttributeValueChangeEvent
illustration",
"domain": "Commercial",
"eventId": "5bb79084-116a-4db1-9cc3-4443f500a7e0",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "ResourcePoolSpecificationAttributeValueChangeEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "ResourcePoolSpecificationAttributeValueChangeEvent",
"event": {
"resourcePoolSpecification": {
"@type": "ResourcePoolSpecification",
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
© TM Forum 2024. All Rights Reserved. Page 77
Resource Pool Management User Guide
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"validFor":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
Content-Type: application/json
{
"@type": "ResourcePoolSpecificationStatusChangeEvent",
"@baseType": "Event",
"correlationId": "f162615b-69be-476f-bc99-440e9ff6b122",
"description": "ResourcePoolSpecificationStatusChangeEvent illustration",
"domain": "Commercial",
"eventId": "dce63750-ee42-48c4-b220-85295f3830a6",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "ResourcePoolSpecificationStatusChangeEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "ResourcePoolSpecificationStatusChangeEvent",
"event": {
"resourcePoolSpecification": {
"@type": "ResourcePoolSpecification",
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"lifecycleStatus": "active"
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
© TM Forum 2024. All Rights Reserved. Page 78
Resource Pool Management User Guide
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
ResourcePool
Create Event
Content-Type: application/json
{
"@type": "ResourcePoolCreateEvent",
"@baseType": "Event",
"correlationId": "e4888f4d-71cd-43a4-a018-dd13f230935c",
"description": "ResourcePoolCreateEvent illustration",
"domain": "Commercial",
"eventId": "3b63e628-0c66-4d57-abbf-2fb6aeb229fd",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "ResourcePoolCreateEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "ResourcePoolCreateEvent",
"event": {
"resourcePool": {
"@type": "ResourcePool",
"id": "c3fef858-b864-4fac-971e-795b1195ded9",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-795b1195ded9",
"name": "Phone Number block for partner MyPartner",
"description": "This Pool collects the PhoneNumber resources assigned to
the partner MyPartner.",
"pooledResourceSpecification":
{
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification",
"id": "89afac38-32e2-40f8-8be2-7b86dd03c9c9",
"href": "https://{server}:{port}/tmf-
api/resourceCatalogManagement/v5/resourceSpecification/89afac38-32e2-40f8-8be2-
7b86dd03c9c9",
"name": "Phone Number"
},
"resourceCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "cc",
"valueType": "string",
"value": "49"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "ndc",
"valueType": "string",
"value": "228"
}
],
"capacity":
[
{
"@type": "Capacity",
"id": "cf8d1665-a3cc-470c-97eb-782f226075ce",
"href": "https://{server}:{port}/tmf-
api/resourcePool/v5/capacity/cf8d1665-a3cc-470c-97eb-782f226075ce",
"name": "Capacity of Phone Number pool for MyPartner",
"capacitySpecification": {
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification"
},
"capacityStatus": "actual",
"capacityAmount":
{
"amount": 1000,
"units": "number"
},
"capacityCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "lowerNumber",
"valueType": "string",
"value": "+49-228-181-000"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "upperNumber",
"valueType": "string",
"value": "+49-228-181-999"
}
]
}
],
"resourceSpecification":
{
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourcePoolSpecification"
},
"relatedParty":
[
{
"@type": "RelatedPartyRefOrPartyRoleRef",
"role": "Partner",
"partyOrPartyRole":
{
"@type": "PartyRef",
"@referredType": "Organization",
"id": "47abd723-d3ca-49d8-ba53-76aa62e867e9",
"href": "https://{server}:{port}/tmf-
© TM Forum 2024. All Rights Reserved. Page 80
Resource Pool Management User Guide
api/partyManagement/v5/organization/47abd723-d3ca-49d8-ba53-76aa62e867e9",
"name": "MyPartner"
}
}
]
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
Delete Event
Content-Type: application/json
{
"@type": "ResourcePoolDeleteEvent",
"@baseType": "Event",
"correlationId": "5b2ca6b7-d69f-4ee7-b36e-5a4b442b14c2",
"description": "ResourcePoolDeleteEvent illustration",
"domain": "Commercial",
"eventId": "4dfa961e-9dc4-4cea-8e5a-2d392f8076f1",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "ResourcePoolDeleteEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "ResourcePoolDeleteEvent",
"event": {
"resourcePool": {
"@type": "ResourcePool",
"id": "c3fef858-b864-4fac-971e-795b1195ded9",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-795b1195ded9"
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
Content-Type: application/json
{
"@type": "ResourcePoolAttributeValueChangeEvent",
"@baseType": "Event",
"correlationId": "41a5ab1a-e6bd-4cfa-bd86-024dc2e13890",
"description": "ResourcePoolAttributeValueChangeEvent illustration",
"domain": "Commercial",
"eventId": "5bb79084-116a-4db1-9cc3-4443f500a7e0",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "ResourcePoolAttributeValueChangeEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "ResourcePoolAttributeValueChangeEvent",
"event": {
"resourcePool": {
"@type": "ResourcePool",
"id": "c3fef858-b864-4fac-971e-795b1195ded9",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-795b1195ded9",
"name": "Phone Number block for partner 'MyPartner'",
"description": "This Pool collects the PhoneNumber resources assigned to
the partner 'MyPartner'.",
"validFor":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
Content-Type: application/json
"@type": "ResourcePoolStatusChangeEvent",
"@baseType": "Event",
"correlationId": "f162615b-69be-476f-bc99-440e9ff6b122",
"description": "ResourcePoolStatusChangeEvent illustration",
"domain": "Commercial",
"eventId": "dce63750-ee42-48c4-b220-85295f3830a6",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "ResourcePoolStatusChangeEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "ResourcePoolStatusChangeEvent",
"event": {
"resourcePool": {
"@type": "ResourcePool",
"id": "c3fef858-b864-4fac-971e-795b1195ded9",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-795b1195ded9",
"resourceStatus": "planned"
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
AvailabilityCheck
Create Event
Content-Type: application/json
{
"@type": "AvailabilityCheckCreateEvent",
"@baseType": "Event",
"correlationId": "e4888f4d-71cd-43a4-a018-dd13f230935c",
"description": "AvailabilityCheckCreateEvent illustration",
"domain": "Commercial",
"eventId": "3b63e628-0c66-4d57-abbf-2fb6aeb229fd",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "AvailabilityCheckCreateEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "AvailabilityCheckCreateEvent",
"event": {
"availabilityCheck": {
"@type": "AvailabilityCheck",
"id": "8cb645cb-279f-42f4-9d3b-72845bbfafbe",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/availabilityCheck/8cb645cb-279f-42f4-9d3b-72845bbfafbe",
"capacityDemand":
{
"@type": "Capacity",
"capacityAmount":
{
"amount": 1,
"units": "number"
}
}
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
Delete Event
Content-Type: application/json
{
"@type": "AvailabilityCheckDeleteEvent",
"@baseType": "Event",
"correlationId": "e4888f4d-71cd-43a4-a018-dd13f230935c",
"description": "AvailabilityCheckDeleteEvent illustration",
"domain": "Commercial",
"eventId": "3b63e628-0c66-4d57-abbf-2fb6aeb229fd",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "AvailabilityCheckDeleteEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "AvailabilityCheckDeleteEvent",
"event": {
"availabilityCheck": {
"@type": "AvailabilityCheck",
"id": "8cb645cb-279f-42f4-9d3b-72845bbfafbe",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/availabilityCheck/8cb645cb-279f-42f4-9d3b-72845bbfafbe"
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
© TM Forum 2024. All Rights Reserved. Page 84
Resource Pool Management User Guide
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
Content-Type: application/json
{
"@type": "AvailabilityCheckStateChangeEvent",
"@baseType": "Event",
"correlationId": "e4888f4d-71cd-43a4-a018-dd13f230935c",
"description": "AvailabilityCheckStateChangeEvent illustration",
"domain": "Commercial",
"eventId": "3b63e628-0c66-4d57-abbf-2fb6aeb229fd",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "AvailabilityCheckStateChangeEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "AvailabilityCheckStateChangeEvent",
"event": {
"availabilityCheck": {
"@type": "AvailabilityCheck",
"id": "8cb645cb-279f-42f4-9d3b-72845bbfafbe",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/availabilityCheck/8cb645cb-279f-42f4-9d3b-72845bbfafbe",
"state": "done"
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
Push
Create Event
Content-Type: application/json
{
"@type": "PushCreateEvent",
"@baseType": "Event",
"correlationId": "e4888f4d-71cd-43a4-a018-dd13f230935c",
"description": "PushCreateEvent illustration",
"domain": "Commercial",
"eventId": "3b63e628-0c66-4d57-abbf-2fb6aeb229fd",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "PushCreateEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "PushCreateEvent",
"event": {
"push": {
"@type": "Push",
"id": "ae63d76e-6d00-45aa-97a6-c8a2b54390e5",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/push/ae63d76e-6d00-45aa-97a6-c8a2b54390e5",
"pushedResource":
[
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "4d179a07-1555-4e5f-a2de-0a51f5dd7e15",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/4d179a07-1555-4e5f-a2de-0a51f5dd7e15"
},
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "15dfa8a7-f9db-43a8-8758-9d9df5a76264",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/15dfa8a7-f9db-43a8-8758-9d9df5a76264"
},
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "195aa8ee-7560-4d97-9b9a-2add1a4e0372",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/195aa8ee-7560-4d97-9b9a-2add1a4e0372"
}
]
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
Delete Event
Content-Type: application/json
{
"@type": "PushDeleteEvent",
"@baseType": "Event",
"correlationId": "e4888f4d-71cd-43a4-a018-dd13f230935c",
"description": "PushDeleteEvent illustration",
"domain": "Commercial",
"eventId": "3b63e628-0c66-4d57-abbf-2fb6aeb229fd",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "PushDeleteEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "PushDeleteEvent",
"event": {
"push": {
"@type": "Push",
"id": "ae63d76e-6d00-45aa-97a6-c8a2b54390e5",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/push/ae63d76e-6d00-45aa-97a6-c8a2b54390e5"
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
Content-Type: application/json
{
"@type": "PushStateChangeEvent",
"@baseType": "Event",
"correlationId": "e4888f4d-71cd-43a4-a018-dd13f230935c",
"description": "PushStateChangeEvent illustration",
"domain": "Commercial",
"eventId": "3b63e628-0c66-4d57-abbf-2fb6aeb229fd",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "PushStateChangeEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "PushStateChangeEvent",
"event": {
"push": {
"@type": "Push",
"id": "ae63d76e-6d00-45aa-97a6-c8a2b54390e5",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/push/ae63d76e-6d00-45aa-97a6-c8a2b54390e5",
"state": "done"
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
Extract
Create Event
Content-Type: application/json
{
"@type": "ExtractCreateEvent",
"@baseType": "Event",
"correlationId": "e4888f4d-71cd-43a4-a018-dd13f230935c",
"description": "ExtractCreateEvent illustration",
"domain": "Commercial",
"eventId": "3b63e628-0c66-4d57-abbf-2fb6aeb229fd",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "ExtractCreateEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "ExtractCreateEvent",
"event": {
"extract": {
"@type": "Extract",
"id": "c6a1e831-ef5b-4d09-85a8-594fca73313b",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/extract/c6a1e831-ef5b-4d09-85a8-594fca73313b",
"capacityDemand":
{
"@type": "Capacity",
"capacityAmount":
{
"amount": 2,
"units": "number"
},
"capacityStatus": "planned",
"applicableTimePeriod":
[
{
"@type": "ApplicableTimePeriod",
"fromToDateTime":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
]
}
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
Delete Event
Content-Type: application/json
{
"@type": "ExtractDeleteEvent",
"@baseType": "Event",
"correlationId": "e4888f4d-71cd-43a4-a018-dd13f230935c",
"description": "ExtractDeleteEvent illustration",
"domain": "Commercial",
"eventId": "3b63e628-0c66-4d57-abbf-2fb6aeb229fd",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "ExtractDeleteEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "ExtractDeleteEvent",
"event": {
"extract": {
"@type": "Extract",
"id": "c6a1e831-ef5b-4d09-85a8-594fca73313b",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/extract/c6a1e831-ef5b-4d09-85a8-594fca73313b"
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
© TM Forum 2024. All Rights Reserved. Page 89
Resource Pool Management User Guide
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
Content-Type: application/json
{
"@type": "ExtractStateChangeEvent",
"@baseType": "Event",
"correlationId": "e4888f4d-71cd-43a4-a018-dd13f230935c",
"description": "ExtractStateChangeEvent illustration",
"domain": "Commercial",
"eventId": "3b63e628-0c66-4d57-abbf-2fb6aeb229fd",
"eventTime": "2024-09-19T13:55:06.910Z",
"eventType": "ExtractStateChangeEvent",
"priority": "3",
"timeOccurred": "2024-09-19T13:55:03.868Z",
"title": "ExtractStateChangeEvent",
"event": {
"extract": {
"@type": "Extract",
"id": "c6a1e831-ef5b-4d09-85a8-594fca73313b",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/extract/c6a1e831-ef5b-4d09-85a8-594fca73313b",
"state": "done"
}
},
"reportingSystem": {
"id": "109",
"name": "APP-804",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
},
"source": {
"id": "8",
"name": "APP-307",
"@type": "ReportingResource",
"@referredType": "LogicalResource"
}
}
API OPERATIONS
Remember the following Uniform Contract:
Filtering and attribute selection rules are described in the TMF REST Design Guidelines.
Operations on CapacitySpecification
Retrieves a CapacitySpecification by ID
GET /capacitySpecification/{id}?fields=…
Description
This operation retrieves a CapacitySpecification entity. Attribute selection is enabled for all
first level attributes. Filtering may be available depending on the compliance level supported
by an implementation.
Usage samples
Request
GET /capacitySpecification/3d01344d-4409-4b15-8fcb-b8802314ff9c
Content-Type: application/json
Response
200
{
"@type": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number range",
"description": "This CapacitySpecification defines the details of capacity for
Phone Number ranges.",
"capacityCharacteristicSpecification":
[
{
"@type": "CharacteristicSpecification",
"name": "lowerNumber",
"description": "the lower boundary of a block of phone numbers; phone
numbers consist of a country code (cc), national destination code (ndc), subscriber
number (sn), and optionally a direct dial in (ddi), all sections separated by '-'",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-(?<sn>[1-
9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "upperNumber",
"description": "the upper boundary of a block of phone numbers; phone
numbers consist of a country code (cc), national destination code (ndc), subscriber
number (sn), and optionally a direct dial in (ddi), all sections separated by '-'",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-(?<sn>[1-
9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
}
]
}
Description
This operation list CapacitySpecification entities. Attribute selection is enabled for all first
level attributes. Filtering may be available depending on the compliance level supported by
an implementation.
Usage samples
Request
Response
200
[
{
"@type": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number range",
"description": "This CapacitySpecification defines the details of capacity
for Phone Number ranges.",
"capacityCharacteristicSpecification":
[
{
"@type": "CharacteristicSpecification",
"name": "lowerNumber",
"description": "the lower boundary of a block of phone numbers;
phone numbers consist of a country code (cc), national destination code (ndc),
subscriber number (sn), and optionally a direct dial in (ddi), all sections
separated by '-'",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-
(?<sn>[1-9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "upperNumber",
"description": "the upper boundary of a block of phone numbers;
phone numbers consist of a country code (cc), national destination code (ndc),
subscriber number (sn), and optionally a direct dial in (ddi), all sections
separated by '-'",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-
(?<sn>[1-9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
}
© TM Forum 2024. All Rights Reserved. Page 93
Resource Pool Management User Guide
]
},
{
"@type": "CapacitySpecification",
"id": "3a2e4da3-ecf8-41d8-b379-e05998761f87",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3a2e4da3-ecf8-41d8-b379-
e05998761f87",
"name": "IPv4 Address range",
"description": "This CapacitySpecification defines the details of capacity
for IP Address ranges.",
"capacityCharacteristicSpecification":
[
{
"@type": "CharacteristicSpecification",
"name": "IPv4-PrefixSize",
"description": "Number of bits to specify a range of IPv4 addresses,
e.g. the '8' in '192.0.0.0/8'",
"valueType": "integer",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "integer",
"valueFrom": 0,
"valueTo": 32
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "IPv4-Address",
"description": "a IPv4 address in decimal dot notation, e.g.
192.0.0.1",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-
(?<sn>[1-9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
}
]
}
]
Creates a CapacitySpecification
POST /capacitySpecification?fields=…
Description
Mandatory Attributes
Usage samples
Request
POST /capacitySpecification
Content-Type: application/json
{
"@type": "CapacitySpecification",
"name": "Phone Number range",
"description": "This CapacitySpecification defines the details of capacity for
Phone Number ranges.",
"capacityCharacteristicSpecification":
[
{
"@type": "CharacteristicSpecification",
"name": "lowerNumber",
"description": "the lower boundary of a block of phone numbers; phone
numbers consist of a country code (cc), national destination code (ndc), subscriber
number (sn), and optionally a direct dial in (ddi), all sections separated by '-'",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-(?<sn>[1-
9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "upperNumber",
"description": "the upper boundary of a block of phone numbers; phone
numbers consist of a country code (cc), national destination code (ndc), subscriber
number (sn), and optionally a direct dial in (ddi), all sections separated by '-'",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-(?<sn>[1-
9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
}
]
}
Response
201
{
"@type": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number range",
"description": "This CapacitySpecification defines the details of capacity for
Phone Number ranges.",
"capacityCharacteristicSpecification":
[
{
"@type": "CharacteristicSpecification",
"name": "lowerNumber",
"description": "the lower boundary of a block of phone numbers; phone
numbers consist of a country code (cc), national destination code (ndc), subscriber
number (sn), and optionally a direct dial in (ddi), all sections separated by '-'",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-(?<sn>[1-
9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "upperNumber",
"description": "the upper boundary of a block of phone numbers; phone
numbers consist of a country code (cc), national destination code (ndc), subscriber
number (sn), and optionally a direct dial in (ddi), all sections separated by '-'",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-(?<sn>[1-
9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
}
]
}
Description
or relationships, the same rules concerning mandatory sub-resource attributes and default
value settings in the POST operation applies to the PATCH operation. Hence these tables
are not repeated here.
Usage samples
Request
PATCH /capacitySpecification/3d01344d-4409-4b15-8fcb-b8802314ff9c
Content-Type: application/json
{
"@type": "CapacitySpecification",
"name": "Phone Number Range"
}
Response
200
{
"@type": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
© TM Forum 2024. All Rights Reserved. Page 97
Resource Pool Management User Guide
Request
PATCH /capacitySpecification/3d01344d-4409-4b15-8fcb-b8802314ff9c
Content-Type: application/merge-patch+json
{
"@type": "CapacitySpecification",
"name": "Phone Number Range"
}
Response
200
{
"@type": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number Range",
"description": "This CapacitySpecification defines the details of capacity for
Phone Number ranges.",
"capacityCharacteristicSpecification":
[
{
"@type": "CharacteristicSpecification",
"name": "lowerNumber",
"description": "the lower boundary of a block of phone numbers; phone
numbers consist of a country code (cc), national destination code (ndc), subscriber
number (sn), and optionally a direct dial in (ddi), all sections separated by '-'",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-(?<sn>[1-
9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "upperNumber",
"description": "the upper boundary of a block of phone numbers; phone
numbers consist of a country code (cc), national destination code (ndc), subscriber
number (sn), and optionally a direct dial in (ddi), all sections separated by '-'",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-(?<sn>[1-
9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
}
]
}
Request
PATCH /capacitySpecification/3d01344d-4409-4b15-8fcb-b8802314ff9c
Content-Type: application/json-patch+json
[
{
"op": "replace",
© TM Forum 2024. All Rights Reserved. Page 99
Resource Pool Management User Guide
"path": "/name",
"value": "Phone Number Range"
},
{
"op": "add",
"path": "/validFor",
"value":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
]
Response
200
{
"@type": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number Range",
"description": "This CapacitySpecification defines the details of capacity for
Phone Number ranges.",
"capacityCharacteristicSpecification":
[
{
"@type": "CharacteristicSpecification",
"name": "lowerNumber",
"description": "the lower boundary of a block of phone numbers; phone
numbers consist of a country code (cc), national destination code (ndc), subscriber
number (sn), and optionally a direct dial in (ddi), all sections separated by '-'",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-(?<sn>[1-
9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "upperNumber",
"description": "the upper boundary of a block of phone numbers; phone
numbers consist of a country code (cc), national destination code (ndc), subscriber
number (sn), and optionally a direct dial in (ddi), all sections separated by '-'",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-(?<sn>[1-
9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
}
],
"validFor":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
Request
PATCH /capacitySpecification/3d01344d-4409-4b15-8fcb-b8802314ff9c
Content-Type: application/json-patch-query+json
[
{
"op": "replace",
"path": "$.capacityCharacteristicSpecification[0]/name",
"value": "Lower Number"
}
]
Response
200
{
"@type": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number range",
"description": "This CapacitySpecification defines the details of capacity for
Phone Number ranges.",
"capacityCharacteristicSpecification":
[
{
"@type": "CharacteristicSpecification",
"name": "Lower Number",
"description": "the lower boundary of a block of phone numbers; phone
numbers consist of a country code (cc), national destination code (ndc), subscriber
number (sn), and optionally a direct dial in (ddi), all sections separated by '-'",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-(?<sn>[1-
9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "upperNumber",
"description": "the upper boundary of a block of phone numbers; phone
numbers consist of a country code (cc), national destination code (ndc), subscriber
number (sn), and optionally a direct dial in (ddi), all sections separated by '-'",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^\\+(?<cc>[1-9]\\d{0,2})-(?<ndc>[1-9]\\d*)-(?<sn>[1-
9]\\d*)(?:-?(?<ddi>\\d+))?$"
}
]
}
]
}
Deletes a CapacitySpecification
DELETE /capacitySpecification/{id}
Description
Operations on ResourcePoolSpecification
Description
This operation list ResourcePoolSpecification entities. Attribute selection is enabled for all
first level attributes. Filtering may be available depending on the compliance level supported
by an implementation.
Usage samples
Request
Response
200
[
{
"@type": "ResourcePoolSpecification",
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"name": "Phone Number pool",
"description": "Specifies the details of ResourcePools for Phone Number
ranges",
"capacitySpecification":
[
{
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number range"
}
],
"resourceSpecCharacteristic":
[
{
"@type": "CharacteristicSpecification",
"name": "cc",
"description": "Phone Number Country Code",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d{0,2}$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "ndc",
"description": "Phone Number National Destination Code",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d*?$"
}
]
}
]
}
]
Retrieves a ResourcePoolSpecification by ID
GET /resourcePoolSpecification/{id}?fields=…
Description
Usage samples
Request
GET /resourcePoolSpecification/b0e0827c-5693-4e41-8445-22438abb33cb
Content-Type: application/json
Response
200
{
"@type": "ResourcePoolSpecification",
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"name": "Phone Number pool",
"description": "Specifies the details of ResourcePools for Phone Number ranges",
"capacitySpecification":
[
{
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number range"
}
],
"resourceSpecCharacteristic":
[
{
"@type": "CharacteristicSpecification",
"name": "cc",
"description": "Phone Number Country Code",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d{0,2}$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "ndc",
"description": "Phone Number National Destination Code",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d*?$"
}
]
}
]
}
Creates a ResourcePoolSpecification
POST /resourcePoolSpecification?fields=…
Description
Mandatory Attributes
Usage samples
Request
POST /resourcePoolSpecification
Content-Type: application/json
{
"@type": "ResourcePoolSpecification",
"name": "Phone Number pool",
"description": "Specifies the details of ResourcePools for Phone Number ranges",
"capacitySpecification":
[
{
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number range"
}
],
"resourceSpecCharacteristic":
[
{
"@type": "CharacteristicSpecification",
"name": "cc",
"description": "Phone Number Country Code",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d{0,2}$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "ndc",
"description": "Phone Number National Destination Code",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d*?$"
}
]
}
]
}
Response
201
{
"@type": "ResourcePoolSpecification",
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"name": "Phone Number pool",
"description": "Specifies the details of ResourcePools for Phone Number ranges",
"capacitySpecification":
[
{
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number range"
}
],
"resourceSpecCharacteristic":
[
{
"@type": "CharacteristicSpecification",
"name": "cc",
"description": "Phone Number Country Code",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d{0,2}$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "ndc",
"description": "Phone Number National Destination Code",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d*?$"
}
]
}
]
}
Description
Usage samples
Request
PATCH /resourcePoolSpecification/b0e0827c-5693-4e41-8445-22438abb33cb
Content-Type: application/json
{
"@type": "ResourcePoolSpecification",
"validFor":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
Response
200
{
"@type": "ResourcePoolSpecification",
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"name": "Phone Number pool",
"description": "Specifies the details of ResourcePools for Phone Number ranges",
"capacitySpecification":
[
{
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number range"
}
],
"resourceSpecCharacteristic":
[
{
"@type": "CharacteristicSpecification",
"name": "cc",
"description": "Phone Number Country Code",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d{0,2}$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "ndc",
"description": "Phone Number National Destination Code",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d*?$"
}
]
}
],
"validFor":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
Request
PATCH /resourcePoolSpecification/b0e0827c-5693-4e41-8445-22438abb33cb
Content-Type: application/merge-patch+json
{
"@type": "ResourcePoolSpecification",
"validFor":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
Response
200
{
"@type": "ResourcePoolSpecification",
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"name": "Phone Number pool",
"description": "Specifies the details of ResourcePools for Phone Number ranges",
"capacitySpecification":
[
{
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number range"
}
],
"resourceSpecCharacteristic":
[
{
"@type": "CharacteristicSpecification",
"name": "cc",
"description": "Phone Number Country Code",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d{0,2}$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "ndc",
"description": "Phone Number National Destination Code",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d*?$"
}
]
}
],
"validFor":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
Request
PATCH /resourcePoolSpecification/b0e0827c-5693-4e41-8445-22438abb33cb
Content-Type: application/json-patch+json
[
{
"op": "replace",
"path": "/name",
"value": "Phone Number pool (single subsubriber)"
},
{
"op": "add",
"path": "/resourceSpecCharacteristic",
"value":
{
"@type": "CharacteristicSpecification",
"name": "sn",
"description": "Phone Number Subscriber Number",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d*$"
}
]
}
}
]
Response
200
{
"@type": "ResourcePoolSpecification",
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"name": "Phone Number pool (single subsubriber)",
"description": "Specifies the details of ResourcePools for Phone Number ranges",
"capacitySpecification":
[
{
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number range"
}
],
"resourceSpecCharacteristic":
[
{
"@type": "CharacteristicSpecification",
"name": "cc",
"description": "Phone Number Country Code",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d{0,2}$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "ndc",
"description": "Phone Number National Destination Code",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d*?$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "sn",
"description": "Phone Number Subscriber Number",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d*$"
}
]
}
]
Request
PATCH /resourcePoolSpecification/b0e0827c-5693-4e41-8445-22438abb33cb
Content-Type: application/json-patch-query+json
[
{
"op": "replace",
"path": "$.resourceSpecCharacteristic[?(@.name == 'cc')].description",
"value": "Phone Number Country Code (CC)"
},
{
"op": "replace",
"path": "$.resourceSpecCharacteristic[?(@.name == 'ndc')].description",
"value": "Phone Number National Destination Code (NDC)"
}
]
Response
200
{
"@type": "ResourcePoolSpecification",
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"name": "Phone Number pool",
"description": "Specifies the details of ResourcePools for Phone Number ranges",
"capacitySpecification":
[
{
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification",
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"name": "Phone Number range"
}
],
"resourceSpecCharacteristic":
[
{
"@type": "CharacteristicSpecification",
"name": "cc",
"description": "Phone Number Country Code (CC)",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d{0,2}$"
}
]
},
{
"@type": "CharacteristicSpecification",
"name": "ndc",
"description": "Phone Number National Destination Code (NDC)",
"valueType": "string",
"characteristicValueSpecification":
[
{
"@type": "CharacteristicValueSpecification",
"valueType": "string",
"regex": "^[1-9]\\d*?$"
}
]
}
]
}
Deletes a ResourcePoolSpecification
DELETE /resourcePoolSpecification/{id}
Description
Operations on ResourcePool
Description
This operation list ResourcePool entities. Attribute selection is enabled for all first level
attributes. Filtering may be available depending on the compliance level supported by an
implementation.
Usage samples
Request
Response
200
[
{
"@type": "ResourcePool",
"id": "c3fef858-b864-4fac-971e-795b1195ded9",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-795b1195ded9",
"name": "Phone Number block for partner MyPartner",
"description": "This Pool collects the PhoneNumber resources assigned to the
partner MyPartner.",
"pooledResourceSpecification":
{
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification",
"id": "89afac38-32e2-40f8-8be2-7b86dd03c9c9",
"href": "https://{server}:{port}/tmf-
api/resourceCatalogManagement/v5/resourceSpecification/89afac38-32e2-40f8-8be2-
7b86dd03c9c9",
"name": "Phone Number"
},
"resourceCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "cc",
"valueType": "string",
"value": "49"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "ndc",
"valueType": "string",
"value": "228"
}
],
"capacity":
[
{
"@type": "Capacity",
"id": "cf8d1665-a3cc-470c-97eb-782f226075ce",
"href": "https://{server}:{port}/tmf-
api/resourcePool/v5/capacity/cf8d1665-a3cc-470c-97eb-782f226075ce",
"name": "Capacity of Phone Number pool for MyPartner",
"capacitySpecification": {
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification"
},
"capacityStatus": "actual",
"capacityAmount":
{
"amount": 1000,
"units": "number"
},
"capacityCharacteristic":
[
© TM Forum 2024. All Rights Reserved. Page 115
Resource Pool Management User Guide
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "lowerNumber",
"valueType": "string",
"value": "+49-228-181-000"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "upperNumber",
"valueType": "string",
"value": "+49-228-181-999"
}
]
}
],
"resourceSpecification":
{
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourcePoolSpecification"
},
"relatedParty":
[
{
"@type": "RelatedPartyRefOrPartyRoleRef",
"role": "Partner",
"partyOrPartyRole":
{
"@type": "PartyRef",
"@referredType": "Organization",
"id": "47abd723-d3ca-49d8-ba53-76aa62e867e9",
"href": "https://{server}:{port}/tmf-
api/partyManagement/v5/organization/47abd723-d3ca-49d8-ba53-76aa62e867e9",
"name": "MyPartner"
}
}
]
}
]
Retrieves a ResourcePool by ID
GET /resourcePool/{id}?fields=…
Description
This operation retrieves a ResourcePool entity. Attribute selection is enabled for all first level
attributes. Filtering may be available depending on the compliance level supported by an
implementation.
Usage samples
Request
GET /resourcePool/c3fef858-b864-4fac-971e-795b1195ded9
Content-Type: application/json
Response
200
{
"@type": "ResourcePool",
"id": "c3fef858-b864-4fac-971e-795b1195ded9",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-795b1195ded9",
"name": "Phone Number block for partner MyPartner",
"description": "This Pool collects the PhoneNumber resources assigned to the
partner MyPartner.",
"pooledResourceSpecification":
{
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification",
"id": "89afac38-32e2-40f8-8be2-7b86dd03c9c9",
"href": "https://{server}:{port}/tmf-
api/resourceCatalogManagement/v5/resourceSpecification/89afac38-32e2-40f8-8be2-
7b86dd03c9c9",
"name": "Phone Number"
},
"resourceCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "cc",
"valueType": "string",
"value": "49"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "ndc",
"valueType": "string",
"value": "228"
}
],
"capacity":
[
{
"@type": "Capacity",
"id": "cf8d1665-a3cc-470c-97eb-782f226075ce",
"href": "https://{server}:{port}/tmf-
api/resourcePool/v5/capacity/cf8d1665-a3cc-470c-97eb-782f226075ce",
"name": "Capacity of Phone Number pool for MyPartner",
"capacitySpecification": {
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification"
},
"capacityStatus": "actual",
"capacityAmount":
{
"amount": 1000,
"units": "number"
},
"capacityCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "lowerNumber",
"valueType": "string",
"value": "+49-228-181-000"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "upperNumber",
"valueType": "string",
"value": "+49-228-181-999"
}
]
}
],
"resourceSpecification":
{
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourcePoolSpecification"
},
"relatedParty":
[
{
"@type": "RelatedPartyRefOrPartyRoleRef",
"role": "Partner",
"partyOrPartyRole":
{
"@type": "PartyRef",
"@referredType": "Organization",
"id": "47abd723-d3ca-49d8-ba53-76aa62e867e9",
"href": "https://{server}:{port}/tmf-
api/partyManagement/v5/organization/47abd723-d3ca-49d8-ba53-76aa62e867e9",
"name": "MyPartner"
}
}
]
}
Creates a ResourcePool
POST /resourcePool?fields=…
Description
Mandatory Attributes
Usage samples
Request
POST /resourcePool
Content-Type: application/json
{
"@type": "ResourcePool",
"name": "Phone Number block for partner MyPartner",
"description": "This Pool collects the PhoneNumber resources assigned to the
partner MyPartner.",
"pooledResourceSpecification":
{
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification",
"id": "89afac38-32e2-40f8-8be2-7b86dd03c9c9",
"href": "https://{server}:{port}/tmf-
api/resourceCatalogManagement/v5/resourceSpecification/89afac38-32e2-40f8-8be2-
7b86dd03c9c9",
"name": "Phone Number"
},
"resourceCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "cc",
"valueType": "string",
"value": "49"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "ndc",
"valueType": "string",
"value": "228"
}
],
"capacity":
[
{
"@type": "Capacity",
"name": "Capacity of Phone Number pool for MyPartner",
"capacitySpecification": {
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification"
},
© TM Forum 2024. All Rights Reserved. Page 119
Resource Pool Management User Guide
"capacityStatus": "actual",
"capacityAmount":
{
"amount": 1000,
"units": "number"
},
"capacityCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"id": "bde67cfd-8d4a-4a22-a948-7565978aa0ed",
"name": "lowerNumber",
"valueType": "string",
"value": "+49-228-181-000"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"id": "2612c070-d3a9-4cd8-9765-55309d5e1d16",
"name": "upperNumber",
"valueType": "string",
"value": "+49-228-181-999"
}
]
}
],
"resourceSpecification":
{
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourcePoolSpecification"
},
"relatedParty":
[
{
"@type": "RelatedPartyRefOrPartyRoleRef",
"role": "Partner",
"partyOrPartyRole":
{
"@type": "PartyRef",
"@referredType": "Organization",
"id": "47abd723-d3ca-49d8-ba53-76aa62e867e9",
"href": "https://{server}:{port}/tmf-
api/partyManagement/v5/organization/47abd723-d3ca-49d8-ba53-76aa62e867e9",
"name": "MyPartner"
}
}
]
}
Response
201
{
"@type": "ResourcePool",
"id": "c3fef858-b864-4fac-971e-795b1195ded9",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-795b1195ded9",
"name": "Phone Number block for partner MyPartner",
"description": "This Pool collects the PhoneNumber resources assigned to the
partner MyPartner.",
"pooledResourceSpecification":
{
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification",
"id": "89afac38-32e2-40f8-8be2-7b86dd03c9c9",
"href": "https://{server}:{port}/tmf-
api/resourceCatalogManagement/v5/resourceSpecification/89afac38-32e2-40f8-8be2-
7b86dd03c9c9",
"name": "Phone Number"
},
"resourceCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "cc",
"valueType": "string",
"value": "49"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "ndc",
"valueType": "string",
"value": "228"
}
],
"capacity":
[
{
"@type": "Capacity",
"id": "cf8d1665-a3cc-470c-97eb-782f226075ce",
"href": "https://{server}:{port}/tmf-
api/resourcePool/v5/capacity/cf8d1665-a3cc-470c-97eb-782f226075ce",
"name": "Capacity of Phone Number pool for MyPartner",
"capacitySpecification": {
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification"
},
"capacityStatus": "actual",
"capacityAmount":
{
"amount": 1000,
"units": "number"
},
"capacityCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "lowerNumber",
"valueType": "string",
"value": "+49-228-181-000"
© TM Forum 2024. All Rights Reserved. Page 121
Resource Pool Management User Guide
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "upperNumber",
"valueType": "string",
"value": "+49-228-181-999"
}
]
}
],
"resourceSpecification":
{
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourcePoolSpecification"
},
"relatedParty":
[
{
"@type": "RelatedPartyRefOrPartyRoleRef",
"role": "Partner",
"partyOrPartyRole":
{
"@type": "PartyRef",
"@referredType": "Organization",
"id": "47abd723-d3ca-49d8-ba53-76aa62e867e9",
"href": "https://{server}:{port}/tmf-
api/partyManagement/v5/organization/47abd723-d3ca-49d8-ba53-76aa62e867e9",
"name": "MyPartner"
}
}
]
}
Description
Usage samples
syntax.
Request
PATCH /resourcePool/c3fef858-b864-4fac-971e-795b1195ded9
Content-Type: application/json
{
"@type": "ResourcePool",
"name": "Phone Number block for partner 'MyPartner'",
"description": "This Pool collects the PhoneNumber resources assigned to the
partner 'MyPartner'.",
"validFor":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
Response
200
{
"@type": "ResourcePool",
"id": "c3fef858-b864-4fac-971e-795b1195ded9",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-795b1195ded9",
"name": "Phone Number block for partner 'MyPartner'",
"description": "This Pool collects the PhoneNumber resources assigned to the
partner 'MyPartner'.",
"pooledResourceSpecification":
{
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification",
"id": "89afac38-32e2-40f8-8be2-7b86dd03c9c9",
"href": "https://{server}:{port}/tmf-
api/resourceCatalogManagement/v5/resourceSpecification/89afac38-32e2-40f8-8be2-
7b86dd03c9c9",
"name": "Phone Number"
},
"resourceCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "cc",
"valueType": "string",
"value": "49"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "ndc",
"valueType": "string",
"value": "228"
}
],
"capacity":
© TM Forum 2024. All Rights Reserved. Page 124
Resource Pool Management User Guide
[
{
"@type": "Capacity",
"id": "cf8d1665-a3cc-470c-97eb-782f226075ce",
"href": "https://{server}:{port}/tmf-
api/resourcePool/v5/capacity/cf8d1665-a3cc-470c-97eb-782f226075ce",
"name": "Capacity of Phone Number pool for MyPartner",
"capacitySpecification": {
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification"
},
"capacityStatus": "actual",
"capacityAmount":
{
"amount": 1000,
"units": "number"
},
"capacityCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "lowerNumber",
"valueType": "string",
"value": "+49-228-181-000"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "upperNumber",
"valueType": "string",
"value": "+49-228-181-999"
}
]
}
],
"resourceSpecification":
{
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourcePoolSpecification"
},
"relatedParty":
[
{
"@type": "RelatedPartyRefOrPartyRoleRef",
"role": "Partner",
"partyOrPartyRole":
{
"@type": "PartyRef",
"@referredType": "Organization",
"id": "47abd723-d3ca-49d8-ba53-76aa62e867e9",
"href": "https://{server}:{port}/tmf-
api/partyManagement/v5/organization/47abd723-d3ca-49d8-ba53-76aa62e867e9",
"name": "MyPartner"
}
© TM Forum 2024. All Rights Reserved. Page 125
Resource Pool Management User Guide
}
],
"validFor":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
Request
PATCH /resourcePool/c3fef858-b864-4fac-971e-795b1195ded9
Content-Type: application/merge-patch+json
{
"@type": "ResourcePool",
"name": "Phone Number block for partner 'MyPartner'",
"description": "This Pool collects the PhoneNumber resources assigned to the
partner 'MyPartner'.",
"validFor":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
Response
200
{
"@type": "ResourcePool",
"id": "c3fef858-b864-4fac-971e-795b1195ded9",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-795b1195ded9",
"name": "Phone Number block for partner 'MyPartner'",
"description": "This Pool collects the PhoneNumber resources assigned to the
partner 'MyPartner'.",
"pooledResourceSpecification":
{
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification",
"id": "89afac38-32e2-40f8-8be2-7b86dd03c9c9",
"href": "https://{server}:{port}/tmf-
api/resourceCatalogManagement/v5/resourceSpecification/89afac38-32e2-40f8-8be2-
7b86dd03c9c9",
"name": "Phone Number"
},
"resourceCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "cc",
"valueType": "string",
"value": "49"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "ndc",
"valueType": "string",
"value": "228"
}
],
"capacity":
[
{
"@type": "Capacity",
"id": "cf8d1665-a3cc-470c-97eb-782f226075ce",
"href": "https://{server}:{port}/tmf-
api/resourcePool/v5/capacity/cf8d1665-a3cc-470c-97eb-782f226075ce",
"name": "Capacity of Phone Number pool for MyPartner",
"capacitySpecification": {
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification"
},
"capacityStatus": "actual",
"capacityAmount":
{
"amount": 1000,
"units": "number"
},
"capacityCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "lowerNumber",
"valueType": "string",
"value": "+49-228-181-000"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "upperNumber",
"valueType": "string",
"value": "+49-228-181-999"
}
]
}
],
"resourceSpecification":
{
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourcePoolSpecification"
},
"relatedParty":
[
{
© TM Forum 2024. All Rights Reserved. Page 127
Resource Pool Management User Guide
"@type": "RelatedPartyRefOrPartyRoleRef",
"role": "Partner",
"partyOrPartyRole":
{
"@type": "PartyRef",
"@referredType": "Organization",
"id": "47abd723-d3ca-49d8-ba53-76aa62e867e9",
"href": "https://{server}:{port}/tmf-
api/partyManagement/v5/organization/47abd723-d3ca-49d8-ba53-76aa62e867e9",
"name": "MyPartner"
}
}
],
"validFor":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
Request
PATCH /resourcePool/c3fef858-b864-4fac-971e-795b1195ded9
Content-Type: application/json-patch+json
[
{
"op": "add",
"path": "/resourceCharacteristic",
"value":
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "sn",
"valueType": "string",
"value": "181"
}
}
]
Response
200
{
"@type": "ResourcePool",
"id": "c3fef858-b864-4fac-971e-795b1195ded9",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-795b1195ded9",
"name": "Phone Number block for partner MyPartner",
"description": "This Pool collects the PhoneNumber resources assigned to the
partner MyPartner.",
"pooledResourceSpecification":
{
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification",
"id": "89afac38-32e2-40f8-8be2-7b86dd03c9c9",
"href": "https://{server}:{port}/tmf-
api/resourceCatalogManagement/v5/resourceSpecification/89afac38-32e2-40f8-8be2-
7b86dd03c9c9",
"name": "Phone Number"
},
"resourceCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "cc",
"valueType": "string",
"value": "49"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "ndc",
"valueType": "string",
"value": "228"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "sn",
"valueType": "string",
"value": "181"
}
],
"capacity":
[
{
"@type": "Capacity",
"id": "cf8d1665-a3cc-470c-97eb-782f226075ce",
"href": "https://{server}:{port}/tmf-
api/resourcePool/v5/capacity/cf8d1665-a3cc-470c-97eb-782f226075ce",
"name": "Capacity of Phone Number pool for MyPartner",
"capacitySpecification": {
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification"
},
"capacityStatus": "actual",
"capacityAmount":
{
"amount": 1000,
"units": "number"
},
"capacityCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "lowerNumber",
"valueType": "string",
"value": "+49-228-181-000"
},
{
© TM Forum 2024. All Rights Reserved. Page 129
Resource Pool Management User Guide
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "upperNumber",
"valueType": "string",
"value": "+49-228-181-999"
}
]
}
],
"resourceSpecification":
{
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourcePoolSpecification"
},
"relatedParty":
[
{
"@type": "RelatedPartyRefOrPartyRoleRef",
"role": "Partner",
"partyOrPartyRole":
{
"@type": "PartyRef",
"@referredType": "Organization",
"id": "47abd723-d3ca-49d8-ba53-76aa62e867e9",
"href": "https://{server}:{port}/tmf-
api/partyManagement/v5/organization/47abd723-d3ca-49d8-ba53-76aa62e867e9",
"name": "MyPartner"
}
}
]
}
Request
PATCH /resourcePool/c3fef858-b864-4fac-971e-795b1195ded9
Content-Type: application/json-patch-query+json
[
{
"op": "replace",
"path": "/name",
"value": "Phone Number block for partner 'MyPartner'"
},
{
"op": "replace",
"path": "/description",
"value": "This Pool collects the PhoneNumber resources assigned to the
partner 'MyPartner'."
},
{
"op": "add",
"path": "/validFor",
© TM Forum 2024. All Rights Reserved. Page 130
Resource Pool Management User Guide
"value":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
},
{
"op": "replace",
"path": "$.relatedParty[?(@.partyOrPartyRole.name == 'MyPartner')].role",
"value": "Business Customer"
}
]
Response
200
{
"@type": "ResourcePool",
"id": "c3fef858-b864-4fac-971e-795b1195ded9",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-795b1195ded9",
"name": "Phone Number block for partner 'MyPartner'",
"description": "This Pool collects the PhoneNumber resources assigned to the
partner 'MyPartner'.",
"pooledResourceSpecification":
{
"@type": "ResourceSpecificationRef",
"@referredType": "ResourceSpecification",
"id": "89afac38-32e2-40f8-8be2-7b86dd03c9c9",
"href": "https://{server}:{port}/tmf-
api/resourceCatalogManagement/v5/resourceSpecification/89afac38-32e2-40f8-8be2-
7b86dd03c9c9",
"name": "Phone Number"
},
"resourceCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "cc",
"valueType": "string",
"value": "49"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "ndc",
"valueType": "string",
"value": "228"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "sn",
"valueType": "string",
"value": "181"
}
],
"capacity":
[
{
"@type": "Capacity",
"id": "cf8d1665-a3cc-470c-97eb-782f226075ce",
"href": "https://{server}:{port}/tmf-
api/resourcePool/v5/capacity/cf8d1665-a3cc-470c-97eb-782f226075ce",
"name": "Capacity of Phone Number pool for MyPartner",
"capacitySpecification": {
"id": "3d01344d-4409-4b15-8fcb-b8802314ff9c",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/capacitySpecification/3d01344d-4409-4b15-8fcb-
b8802314ff9c",
"@type": "CapacitySpecificationRef",
"@referredType": "CapacitySpecification"
},
"capacityStatus": "actual",
"capacityAmount":
{
"amount": 1000,
"units": "number"
},
"capacityCharacteristic":
[
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "lowerNumber",
"valueType": "string",
"value": "+49-228-181-000"
},
{
"@type": "StringCharacteristic",
"@baseType": "Characteristic",
"name": "upperNumber",
"valueType": "string",
"value": "+49-228-181-999"
}
]
}
],
"resourceSpecification":
{
"id": "b0e0827c-5693-4e41-8445-22438abb33cb",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePoolSpecification/b0e0827c-5693-4e41-8445-
22438abb33cb",
"@type": "ResourceSpecificationRef",
"@referredType": "ResourcePoolSpecification"
},
"relatedParty":
[
{
"@type": "RelatedPartyRefOrPartyRoleRef",
"role": "Business Customer",
"partyOrPartyRole":
{
"@type": "PartyRef",
"@referredType": "Organization",
"id": "47abd723-d3ca-49d8-ba53-76aa62e867e9",
"href": "https://{server}:{port}/tmf-
api/partyManagement/v5/organization/47abd723-d3ca-49d8-ba53-76aa62e867e9",
"name": "MyPartner"
}
© TM Forum 2024. All Rights Reserved. Page 132
Resource Pool Management User Guide
}
],
"validFor":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
Deletes a ResourcePool
DELETE /resourcePool/{id}
Description
Operations on AvailabilityCheck
Description
This operation list AvailabilityCheck entities. Attribute selection is enabled for all first level
attributes. Filtering may be available depending on the compliance level supported by an
implementation.
Usage samples
Request
GET /resourcePool/c3fef858-b864-4fac-971e-795b1195ded9/availabilityCheck
Content-Type: application/json
Response
200
[
{
"@type": "AvailabilityCheck",
"id": "8cb645cb-279f-42f4-9d3b-72845bbfafbe",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/availabilityCheck/8cb645cb-279f-42f4-9d3b-72845bbfafbe",
"capacityDemand":
{
"@type": "Capacity",
"capacityAmount":
{
"amount": 1,
"units": "number"
}
},
"state": "inProgress"
}
]
Retrieves a AvailabilityCheck by ID
GET /resourcePool/{resourcePoolId}/availabilityCheck/{id}?fields=…
Description
This operation retrieves an AvailabilityCheck entity. Attribute selection is enabled for all first
level attributes. Filtering may be available depending on the compliance level supported by
an implementation.
Usage samples
Request
GET /resourcePool/c3fef858-b864-4fac-971e-795b1195ded9/availabilityCheck/8cb645cb-
279f-42f4-9d3b-72845bbfafbe
Content-Type: application/json
Response
200
{
"@type": "AvailabilityCheck",
"id": "8cb645cb-279f-42f4-9d3b-72845bbfafbe",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/availabilityCheck/8cb645cb-279f-42f4-9d3b-72845bbfafbe",
"capacityDemand":
{
"@type": "Capacity",
"capacityAmount":
{
"amount": 1,
"units": "number"
}
},
"state": "inProgress"
}
Creates a AvailabilityCheck
POST /resourcePool/{resourcePoolId}/availabilityCheck?fields=…
Description
Mandatory Attributes
Usage samples
Request
POST /resourcePool/c3fef858-b864-4fac-971e-795b1195ded9/availabilityCheck
Content-Type: application/json
{
"@type": "AvailabilityCheck",
"capacityDemand":
{
"@type": "Capacity",
"capacityAmount":
{
"amount": 1,
"units": "number"
}
}
}
Response
201
{
"@type": "AvailabilityCheck",
"id": "8cb645cb-279f-42f4-9d3b-72845bbfafbe",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/availabilityCheck/8cb645cb-279f-42f4-9d3b-72845bbfafbe",
"capacityDemand":
{
"@type": "Capacity",
"capacityAmount":
{
"amount": 10,
"units": "number"
}
},
"capacityOption":
[
{
"@type": "Capacity",
"capacityAmount":
{
"amount": 6,
"units": "number"
}
},
{
"@type": "Capacity",
"capacityAmount":
{
"amount": 4,
"units": "number"
}
}
],
"state": "inProgress"
}
Operations on Push
Retrieves a Push by ID
GET /resourcePool/{resourcePoolId}/push/{id}?fields=…
Description
This operation retrieves a Push entity. Attribute selection is enabled for all first level
attributes. Filtering may be available depending on the compliance level supported by an
implementation.
Usage samples
Request
GET /resourcePool/c3fef858-b864-4fac-971e-795b1195ded9/push/ae63d76e-6d00-45aa-97a6-
c8a2b54390e5
Content-Type: application/json
Response
200
{
"@type": "Push",
"id": "ae63d76e-6d00-45aa-97a6-c8a2b54390e5",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/push/ae63d76e-6d00-45aa-97a6-c8a2b54390e5",
"pushedResource":
[
© TM Forum 2024. All Rights Reserved. Page 136
Resource Pool Management User Guide
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "4d179a07-1555-4e5f-a2de-0a51f5dd7e15",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/4d179a07-1555-4e5f-a2de-0a51f5dd7e15"
},
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "15dfa8a7-f9db-43a8-8758-9d9df5a76264",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/15dfa8a7-f9db-43a8-8758-9d9df5a76264"
},
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "195aa8ee-7560-4d97-9b9a-2add1a4e0372",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/195aa8ee-7560-4d97-9b9a-2add1a4e0372"
}
],
"state": "inProgress"
}
Description
This operation list Push entities. Attribute selection is enabled for all first level attributes.
Filtering may be available depending on the compliance level supported by an
implementation.
Usage samples
Request
GET /resourcePool/c3fef858-b864-4fac-971e-795b1195ded9/push
Content-Type: application/json
Response
200
[
{
"@type": "Push",
"id": "ae63d76e-6d00-45aa-97a6-c8a2b54390e5",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/push/ae63d76e-6d00-45aa-97a6-c8a2b54390e5",
"pushedResource":
[
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "4d179a07-1555-4e5f-a2de-0a51f5dd7e15",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/4d179a07-1555-4e5f-a2de-0a51f5dd7e15"
},
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "15dfa8a7-f9db-43a8-8758-9d9df5a76264",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/15dfa8a7-f9db-43a8-8758-9d9df5a76264"
},
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "195aa8ee-7560-4d97-9b9a-2add1a4e0372",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/195aa8ee-7560-4d97-9b9a-2add1a4e0372"
}
],
"state": "inProgress"
}
]
Creates a Push
POST /resourcePool/{resourcePoolId}/push?fields=…
Description
Mandatory Attributes
Usage samples
Request
POST /resourcePool/c3fef858-b864-4fac-971e-795b1195ded9/push
Content-Type: application/json
{
"@type": "Push",
"pushedResource":
[
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "4d179a07-1555-4e5f-a2de-0a51f5dd7e15",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/4d179a07-1555-4e5f-a2de-0a51f5dd7e15"
},
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "15dfa8a7-f9db-43a8-8758-9d9df5a76264",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/15dfa8a7-f9db-43a8-8758-9d9df5a76264"
},
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "195aa8ee-7560-4d97-9b9a-2add1a4e0372",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/195aa8ee-7560-4d97-9b9a-2add1a4e0372"
}
]
}
Response
201
{
"@type": "Push",
"id": "ae63d76e-6d00-45aa-97a6-c8a2b54390e5",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/push/ae63d76e-6d00-45aa-97a6-c8a2b54390e5",
"pushedResource":
[
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "4d179a07-1555-4e5f-a2de-0a51f5dd7e15",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/4d179a07-1555-4e5f-a2de-0a51f5dd7e15"
},
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "15dfa8a7-f9db-43a8-8758-9d9df5a76264",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/15dfa8a7-f9db-43a8-8758-9d9df5a76264"
},
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "195aa8ee-7560-4d97-9b9a-2add1a4e0372",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/195aa8ee-7560-4d97-9b9a-2add1a4e0372"
}
],
"state": "inProgress"
}
Operations on Extract
Retrieves a Extract by ID
GET /resourcePool/{resourcePoolId}/extract/{id}?fields=…
Description
This operation retrieves an Extract entity. Attribute selection is enabled for all first level
attributes. Filtering may be available depending on the compliance level supported by an
implementation.
Usage samples
Request
GET /resourcePool/c3fef858-b864-4fac-971e-795b1195ded9/extract/c6a1e831-ef5b-4d09-
85a8-594fca73313b
Content-Type: application/json
Response
200
{
"@type": "Extract",
"id": "c6a1e831-ef5b-4d09-85a8-594fca73313b",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/extract/c6a1e831-ef5b-4d09-85a8-594fca73313b",
"capacityDemand":
{
"@type": "Capacity",
"capacityAmount":
{
"amount": 2,
"units": "number"
},
"capacityStatus": "planned",
"applicableTimePeriod":
[
{
"@type": "ApplicableTimePeriod",
"fromToDateTime":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
]
},
"state": "inProgress"
}
Description
This operation list Extract entities. Attribute selection is enabled for all first level attributes.
Filtering may be available depending on the compliance level supported by an
implementation.
Usage samples
Request
GET /resourcePool/c3fef858-b864-4fac-971e-795b1195ded9/extract
Content-Type: application/json
Response
200
[
{
"@type": "Extract",
"id": "c6a1e831-ef5b-4d09-85a8-594fca73313b",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/extract/c6a1e831-ef5b-4d09-85a8-594fca73313b",
"capacityDemand":
{
"@type": "Capacity",
"capacityAmount":
{
"amount": 2,
"units": "number"
},
"capacityStatus": "planned",
"applicableTimePeriod":
[
{
"@type": "ApplicableTimePeriod",
"fromToDateTime":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
]
},
"state": "inProgress"
}
]
Creates a Extract
POST /resourcePool/{resourcePoolId}/extract?fields=…
Description
Mandatory Attributes
Usage samples
Request
POST /resourcePool/c3fef858-b864-4fac-971e-795b1195ded9/extract
Content-Type: application/json
{
"@type": "Extract",
"capacityDemand":
{
"@type": "Capacity",
"capacityAmount":
{
"amount": 2,
"units": "number"
},
"capacityStatus": "planned",
"applicableTimePeriod":
[
{
"@type": "ApplicableTimePeriod",
"fromToDateTime":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
]
}
}
Response
201
{
"@type": "Extract",
"id": "c6a1e831-ef5b-4d09-85a8-594fca73313b",
"href": "https://{server}:{port}/tmf-
api/resourcePoolManagement/v5/resourcePool/c3fef858-b864-4fac-971e-
795b1195ded9/extract/c6a1e831-ef5b-4d09-85a8-594fca73313b",
"capacityDemand":
{
"@type": "Capacity",
"capacityAmount":
{
"amount": 2,
"units": "number"
},
"capacityStatus": "planned",
"applicableTimePeriod":
[
{
"@type": "ApplicableTimePeriod",
"fromToDateTime":
{
"startDateTime": "2024-05-13T00:00:00Z",
"endDateTime": "2024-09-20T00:00:00Z"
}
}
]
},
"extractedResource":
[
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "4d179a07-1555-4e5f-a2de-0a51f5dd7e15",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/4d179a07-1555-4e5f-a2de-0a51f5dd7e15"
},
{
"@type": "ResourceRef",
"@referredType": "LogicalResource",
"id": "15dfa8a7-f9db-43a8-8758-9d9df5a76264",
"href": "https://{server}:{port}/tmf-
api/resourceInventoryManagement/v5/resource/15dfa8a7-f9db-43a8-8758-9d9df5a76264"
}
],
"state": "inProgress"
}
API NOTIFICATIONS
For every single of operation on the entities use the following templates and provide sample
REST notification POST calls.
It is assumed that the Pub/Sub uses the Register and UnRegister mechanisms described in
the REST Guidelines reproduced below.
Register listener
POST /hub
Description
Sets the communication endpoint address the service instance must use to deliver
information about its health state, execution state, failures and metrics. Subsequent POST
calls will be rejected by the service if it does not support multiple listeners. In this case
DELETE /api/hub/{id} must be called before an endpoint can be created again.
Behavior
Usage Samples
Request
POST /api/hub
Accept: application/json
{
"callback": "http://in.listener.com"
}
Response
201
Content-Type: application/json
Location: /api/hub/42
{
"id":"42",
"callback": "http://in.listener.com",
"query":""
}
Unregister listener
DELETE /hub/{id}
Description
Clears the communication endpoint address that was set by creating the Hub..
Behavior
Usage Samples
Request
DELETE /api/hub/42
Accept: application/json
Response
204
Description
Clears the communication endpoint address that was set by creating the Hub.
Provides to a registered listener the description of the event that was raised. The
/client/listener url is the callback url passed when registering the listener.
Behavior
Returns HTTP/1.1 status code 201 if the service is able to set the configuration.
Usage Samples
Here’s an example of a notification received by the listener. In this example “EVENT TYPE”
should be replaced by one of the notification types supported by this API (see Notification
resources Models section) and EVENT BODY refers to the data structure of the given
notification type.
Request
© TM Forum 2024. All Rights Reserved. Page 145
Resource Pool Management User Guide
POST /client/listener
Accept: application/json
{
"event": {
EVENT BODY
},
"eventType": "EVENT_TYPE"
}
Response
201
For detailed examples on the general TM Forum notification mechanism, see the TMF REST
Design Guidelines.
Acknowledgements
Release History
Release Date Release led by: Description
Number
Release June 2018 sousuke izumida Initial Release
18.0.0
[email protected]
.jp
Version 5.0.0 September Lutz Bettge Upgrade to V5 design patterns and
2023 OAS3
Deutsche Telekom
Contributors to Document
Lutz Bettge Deutsche Telekom