openapi: 3.0.1
info:
title: Party Management
description: >-
TMF API Reference : TMF 632 - Party Release: 22.5
The party API provides standardized mechanism for party management such as creation, update,
retrieval, deletion, and notification of events. Party can be an individual or an organization
that has any kind of relation with the enterprise. Party is created to record individual or
organization information before the assignment of any role.
For example, within the context of a split billing mechanism, Party API allows creation of the
individual or organization that will play the role of 3rd payer for a given offer and, then,
allows consultation or update of his information.
Resources - Party (abstract base class with concrete subclasses Individual and Organization)
Party API performs the following operations: - Retrieve an organization or an individual -
Retrieve a collection of organizations or individuals according to given criteria - Create a new
organization or a new individual - Update an existing organization or an existing individual -
Delete an existing organization or an existing individual - Notify events on organization or
individual
version: 5.0.0
servers:
- url: 'https://serverRoot/partyManagement/v5/'
tags:
- name: individual
description: Operations for Individual Resource
- name: organization
description: Operations for Organization Resource
- name: notification listener
description: Notifications for Resource Lifecycle and event notifications
- name: events subscription
description: Endpoints to register and terminate an Event Listener
paths:
/hub:
post:
operationId: createHub
summary: TM Forum Create a Subscription (hub) to Receive Events
description: Sets the communication endpoint to receive Events.
tags:
- events subscription
requestBody:
$ref: '#/components/requestBodies/Hub_FVO'
responses:
'201':
$ref: '#/components/responses/Hub'
default:
$ref: '#/components/responses/Error'
'/hub/{id}':
delete:
operationId: hubDelete
summary: TM Forum Remove a Subscription (hub) to Receive Events
description: ''
tags:
- events subscription
parameters:
- $ref: '#/components/parameters/Id'
responses:
'204':
description: Deleted
default:
$ref: '#/components/responses/Error'
/individual:
get:
tags:
- individual
summary: TM Forum List or Find Individual Objects
description: List or find Individual objects
operationId: listIndividual
parameters:
- $ref: '#/components/parameters/Fields'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
$ref: '#/components/responses/200IndividualArray'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
post:
tags:
- individual
summary: TM Forum Creates a Individual
description: This operation creates a Individual entity.
operationId: createIndividual
parameters:
- $ref: '#/components/parameters/Fields'
requestBody:
$ref: '#/components/requestBodies/Individual_FVO'
responses:
'201':
$ref: '#/components/responses/201Individual'
'202':
description: Accepted
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'409':
$ref: '#/components/responses/409'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
'/individual/{id}':
get:
tags:
- individual
summary: TM Forum Retrieves a Individual by ID
description: >-
This operation retrieves a Individual entity. Attribute selection enabled for all first
level attributes.
operationId: retrieveIndividual
parameters:
- $ref: '#/components/parameters/Id'
- $ref: '#/components/parameters/Fields'
responses:
'200':
$ref: '#/components/responses/200Individual_Get'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
patch:
tags:
- individual
summary: TM Forum Updates Partially a Individual
description: This operation updates partially a Individual entity.
operationId: patchIndividual
parameters:
- $ref: '#/components/parameters/Id'
- $ref: '#/components/parameters/Fields'
requestBody:
$ref: '#/components/requestBodies/Individual_MVO'
responses:
'200':
$ref: '#/components/responses/200Individual_Patch'
'202':
description: Accepted
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'409':
$ref: '#/components/responses/409'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
delete:
tags:
- individual
summary: TM Forum Deletes a Individual
description: This operation deletes a Individual entity.
operationId: deleteIndividual
parameters:
- $ref: '#/components/parameters/Id'
responses:
'202':
$ref: '#/components/responses/202'
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'409':
$ref: '#/components/responses/409'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
/listener/individualAttributeValueChangeEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity IndividualAttributeValueChangeEvent
description: >-
Example of a client listener for receiving the notification
IndividualAttributeValueChangeEvent
operationId: individualAttributeValueChangeEvent
requestBody:
$ref: '#/components/requestBodies/IndividualAttributeValueChangeEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/listener/individualCreateEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity IndividualCreateEvent
description: Example of a client listener for receiving the notification IndividualCreateEvent
operationId: individualCreateEvent
requestBody:
$ref: '#/components/requestBodies/IndividualCreateEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/listener/individualDeleteEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity IndividualDeleteEvent
description: Example of a client listener for receiving the notification IndividualDeleteEvent
operationId: individualDeleteEvent
requestBody:
$ref: '#/components/requestBodies/IndividualDeleteEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/listener/individualStateChangeEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity IndividualStateChangeEvent
description: Example of a client listener for receiving the notification IndividualStateChangeEvent
operationId: individualStateChangeEvent
requestBody:
$ref: '#/components/requestBodies/IndividualStateChangeEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/listener/organizationAttributeValueChangeEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity OrganizationAttributeValueChangeEvent
description: >-
Example of a client listener for receiving the notification
OrganizationAttributeValueChangeEvent
operationId: organizationAttributeValueChangeEvent
requestBody:
$ref: '#/components/requestBodies/OrganizationAttributeValueChangeEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/listener/organizationCreateEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity OrganizationCreateEvent
description: Example of a client listener for receiving the notification OrganizationCreateEvent
operationId: organizationCreateEvent
requestBody:
$ref: '#/components/requestBodies/OrganizationCreateEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/listener/organizationDeleteEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity OrganizationDeleteEvent
description: Example of a client listener for receiving the notification OrganizationDeleteEvent
operationId: organizationDeleteEvent
requestBody:
$ref: '#/components/requestBodies/OrganizationDeleteEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/listener/organizationStateChangeEvent:
post:
tags:
- notification listener
summary: TM Forum Client Listener for Entity OrganizationStateChangeEvent
description: Example of a client listener for receiving the notification OrganizationStateChangeEvent
operationId: organizationStateChangeEvent
requestBody:
$ref: '#/components/requestBodies/OrganizationStateChangeEvent'
responses:
'204':
description: Notified
default:
$ref: '#/components/responses/Error'
/organization:
get:
tags:
- organization
summary: TM Forum List or Find Organization Objects
description: List or find Organization objects
operationId: listOrganization
parameters:
- $ref: '#/components/parameters/Fields'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
$ref: '#/components/responses/200OrganizationArray'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
post:
tags:
- organization
summary: TM Forum Creates a Organization
description: This operation creates a Organization entity.
operationId: createOrganization
parameters:
- $ref: '#/components/parameters/Fields'
requestBody:
$ref: '#/components/requestBodies/Organization_FVO'
responses:
'201':
$ref: '#/components/responses/201Organization'
'202':
description: Accepted
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'409':
$ref: '#/components/responses/409'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
'/organization/{id}':
get:
tags:
- organization
summary: TM Forum Retrieves a Organization by ID
description: >-
This operation retrieves a Organization entity. Attribute selection enabled for all first
level attributes.
operationId: retrieveOrganization
parameters:
- $ref: '#/components/parameters/Id'
- $ref: '#/components/parameters/Fields'
responses:
'200':
$ref: '#/components/responses/200Organization_Get'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
patch:
tags:
- organization
summary: TM Forum Updates Partially a Organization
description: This operation updates partially a Organization entity.
operationId: patchOrganization
parameters:
- $ref: '#/components/parameters/Id'
- $ref: '#/components/parameters/Fields'
requestBody:
$ref: '#/components/requestBodies/Organization_MVO'
responses:
'200':
$ref: '#/components/responses/200Organization_Patch'
'202':
description: Accepted
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'409':
$ref: '#/components/responses/409'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
delete:
tags:
- organization
summary: TM Forum Deletes a Organization
description: This operation deletes a Organization entity.
operationId: deleteOrganization
parameters:
- $ref: '#/components/parameters/Id'
responses:
'202':
$ref: '#/components/responses/202'
'204':
$ref: '#/components/responses/204'
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'409':
$ref: '#/components/responses/409'
'500':
$ref: '#/components/responses/500'
'501':
$ref: '#/components/responses/501'
'503':
$ref: '#/components/responses/503'
components:
schemas:
AccountRef:
type: object
description: Account reference. A account may be a party account or a financial account.
allOf:
- $ref: '#/components/schemas/EntityRef'
discriminator:
propertyName: '@type'
mapping:
AccountRef: '#/components/schemas/AccountRef'
AccountRef_FVO:
type: object
description: Account reference. A account may be a party account or a financial account.
allOf:
- $ref: '#/components/schemas/EntityRef_FVO'
discriminator:
propertyName: '@type'
mapping:
AccountRef: '#/components/schemas/AccountRef_FVO'
AccountRef_MVO:
type: object
description: Account reference. A account may be a party account or a financial account.
allOf:
- $ref: '#/components/schemas/EntityRef'
discriminator:
propertyName: '@type'
mapping:
AccountRef: '#/components/schemas/AccountRef_MVO'
Addressable:
type: object
description: Base schema for adressable entities
properties:
href:
type: string
description: Hyperlink reference
id:
type: string
description: unique identifier
Addressable_FVO:
type: object
description: Base schema for adressable entities
properties:
id:
type: string
description: unique identifier
AgreementRef:
type: object
description: >-
Agreement reference. An agreement represents a contract or arrangement, either written or
verbal and sometimes enforceable by law, such as a service level agreement or a customer
price agreement. An agreement involves a number of other business entities, such as
products, services, and resources and/or their specifications.
allOf:
- $ref: '#/components/schemas/Extensible'
- $ref: '#/components/schemas/EntityRef'
discriminator:
propertyName: '@type'
mapping:
AgreementRef: '#/components/schemas/AgreementRef'
AgreementRef_FVO:
type: object
description: >-
Agreement reference. An agreement represents a contract or arrangement, either written or
verbal and sometimes enforceable by law, such as a service level agreement or a customer
price agreement. An agreement involves a number of other business entities, such as
products, services, and resources and/or their specifications.
allOf:
- $ref: '#/components/schemas/Extensible_FVO'
- $ref: '#/components/schemas/EntityRef_FVO'
discriminator:
propertyName: '@type'
mapping:
AgreementRef: '#/components/schemas/AgreementRef_FVO'
AgreementRef_MVO:
type: object
description: >-
Agreement reference. An agreement represents a contract or arrangement, either written or
verbal and sometimes enforceable by law, such as a service level agreement or a customer
price agreement. An agreement involves a number of other business entities, such as
products, services, and resources and/or their specifications.
allOf:
- $ref: '#/components/schemas/Extensible'
- $ref: '#/components/schemas/EntityRef'
discriminator:
propertyName: '@type'
mapping:
AgreementRef: '#/components/schemas/AgreementRef_MVO'
Attachment:
allOf:
- $ref: '#/components/schemas/Entity'
- type: object
description: >-
Complements the description of an element (for instance a product) through video,
pictures...
properties:
name:
type: string
description: The name of the attachment
description:
type: string
description: A narrative text describing the content of the attachment
example: Photograph of the Product
url:
type: string
description: 'Uniform Resource Locator, is a web page address (a subset of URI)'
example: 'http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f'
content:
type: string
format: base64
description: 'The actual contents of the attachment object, if embedded, encoded as base64'
size:
$ref: '#/components/schemas/Quantity'
validFor:
$ref: '#/components/schemas/TimePeriod'
attachmentType:
type: string
description: >-
a business characterization of the purpose of the attachment, for example logo,
instructionManual, contractCopy
mimeType:
type: string
description: a technical characterization of the attachment content format using IETF Mime Types
discriminator:
propertyName: '@type'
mapping:
Attachment: '#/components/schemas/Attachment'
AttachmentRef:
allOf:
- $ref: '#/components/schemas/EntityRef'
- type: object
description: >-
Attachment reference. An attachment complements the description of an element (for
instance a product) through video, pictures
properties:
description:
type: string
description: A narrative text describing the content of the attachment
url:
description: Link to the attachment media/content
type: string
discriminator:
propertyName: '@type'
mapping:
AttachmentRef: '#/components/schemas/AttachmentRef'
AttachmentRefOrValue:
type: object
description: >-
The polymorphic attributes @type, @schemaLocation & @referredType are related to the
Attachment entity and not the AttachmentRefOrValue class itself
oneOf:
- $ref: '#/components/schemas/Attachment'
- $ref: '#/components/schemas/AttachmentRef'
discriminator:
propertyName: '@type'
mapping:
Attachment: '#/components/schemas/Attachment'
AttachmentRef: '#/components/schemas/AttachmentRef'
AttachmentRefOrValue_FVO:
type: object
description: >-
The polymorphic attributes @type, @schemaLocation & @referredType are related to the
Attachment entity and not the AttachmentRefOrValue class itself
oneOf:
- $ref: '#/components/schemas/Attachment_FVO'
- $ref: '#/components/schemas/AttachmentRef_FVO'
discriminator:
propertyName: '@type'
mapping:
Attachment: '#/components/schemas/Attachment_FVO'
AttachmentRef: '#/components/schemas/AttachmentRef_FVO'
AttachmentRefOrValue_MVO:
type: object
description: >-
The polymorphic attributes @type, @schemaLocation & @referredType are related to the
Attachment entity and not the AttachmentRefOrValue class itself
oneOf:
- $ref: '#/components/schemas/Attachment_MVO'
- $ref: '#/components/schemas/AttachmentRef_MVO'
discriminator:
propertyName: '@type'
mapping:
Attachment: '#/components/schemas/Attachment_MVO'
AttachmentRef: '#/components/schemas/AttachmentRef_MVO'
AttachmentRef_FVO:
allOf:
- $ref: '#/components/schemas/EntityRef_FVO'
- type: object
description: >-
Attachment reference. An attachment complements the description of an element (for
instance a product) through video, pictures
properties:
description:
type: string
description: A narrative text describing the content of the attachment
url:
description: Link to the attachment media/content
type: string
discriminator:
propertyName: '@type'
mapping:
AttachmentRef: '#/components/schemas/AttachmentRef_FVO'
AttachmentRef_MVO:
allOf:
- $ref: '#/components/schemas/EntityRef'
- type: object
description: >-
Attachment reference. An attachment complements the description of an element (for
instance a product) through video, pictures
properties:
description:
type: string
description: A narrative text describing the content of the attachment
url:
description: Link to the attachment media/content
type: string
discriminator:
propertyName: '@type'
mapping:
AttachmentRef: '#/components/schemas/AttachmentRef_MVO'
Attachment_FVO:
allOf:
- $ref: '#/components/schemas/Entity_FVO'
- type: object
description: >-
Complements the description of an element (for instance a product) through video,
pictures...
properties:
name:
type: string
description: The name of the attachment
description:
type: string
description: A narrative text describing the content of the attachment
example: Photograph of the Product
url:
type: string
description: 'Uniform Resource Locator, is a web page address (a subset of URI)'
example: 'http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f'
content:
type: string
format: base64
description: 'The actual contents of the attachment object, if embedded, encoded as base64'
size:
$ref: '#/components/schemas/Quantity'
validFor:
$ref: '#/components/schemas/TimePeriod'
attachmentType:
type: string
description: >-
a business characterization of the purpose of the attachment, for example logo,
instructionManual, contractCopy
mimeType:
type: string
description: a technical characterization of the attachment content format using IETF Mime Types
required:
- attachmentType
- mimeType
discriminator:
propertyName: '@type'
mapping:
Attachment: '#/components/schemas/Attachment_FVO'
Attachment_MVO:
allOf:
- $ref: '#/components/schemas/Entity_MVO'
- type: object
description: >-
Complements the description of an element (for instance a product) through video,
pictures...
properties:
name:
type: string
description: The name of the attachment
description:
type: string
description: A narrative text describing the content of the attachment
example: Photograph of the Product
url:
type: string
description: 'Uniform Resource Locator, is a web page address (a subset of URI)'
example: 'http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f'
content:
type: string
format: base64
description: 'The actual contents of the attachment object, if embedded, encoded as base64'
size:
$ref: '#/components/schemas/Quantity'
validFor:
$ref: '#/components/schemas/TimePeriod'
attachmentType:
type: string
description: >-
a business characterization of the purpose of the attachment, for example logo,
instructionManual, contractCopy
mimeType:
type: string
description: a technical characterization of the attachment content format using IETF Mime Types
discriminator:
propertyName: '@type'
mapping:
Attachment: '#/components/schemas/Attachment_MVO'
BaseEvent:
allOf:
- $ref: '#/components/schemas/Entity'
- type: object
description: Base event with common attributes.
properties:
event:
type: object
eventId:
type: string
description: The identifier of the notification.
eventTime:
type: string
format: date-time
description: Time of the event occurrence.
eventType:
type: string
description: The type of the notification.
correlationId:
type: string
description: The correlation id for this event.
domain:
type: string
description: The domain of the event.
title:
type: string
description: The title of the event.
description:
type: string
description: An explanatory of the event.
priority:
type: string
description: A priority.
timeOcurred:
type: string
format: date-time
description: The time the event occured.
discriminator:
propertyName: '@type'
mapping:
BaseEvent: '#/components/schemas/BaseEvent'
BaseEvent_FVO:
allOf:
- $ref: '#/components/schemas/Entity'
- type: object
description: Base event with common attributes.
properties:
event:
type: object
eventId:
type: string
description: The identifier of the notification.
eventTime:
type: string
format: date-time
description: Time of the event occurrence.
eventType:
type: string
description: The type of the notification.
correlationId:
type: string
description: The correlation id for this event.
domain:
type: string
description: The domain of the event.
title:
type: string
description: The title of the event.
description:
type: string
description: An explanatory of the event.
priority:
type: string
description: A priority.
timeOcurred:
type: string
format: date-time
description: The time the event occured.
discriminator:
propertyName: '@type'
mapping:
BaseEvent: '#/components/schemas/BaseEvent_FVO'
BaseEvent_MVO:
allOf:
- $ref: '#/components/schemas/Entity_MVO'
- type: object
description: Base event with common attributes.
properties:
event:
type: object
eventId:
type: string
description: The identifier of the notification.
eventTime:
type: string
format: date-time
description: Time of the event occurrence.
eventType:
type: string
description: The type of the notification.
correlationId:
type: string
description: The correlation id for this event.
domain:
type: string
description: The domain of the event.
title:
type: string
description: The title of the event.
description:
type: string
description: An explanatory of the event.
priority:
type: string
description: A priority.
timeOcurred:
type: string
format: date-time
description: The time the event occured.
discriminator:
propertyName: '@type'
mapping:
BaseEvent: '#/components/schemas/BaseEvent_MVO'
BooleanArrayCharacteristic:
allOf:
- $ref: '#/components/schemas/Characteristic'
- type: object
description: A characteristic which value is an array of Boolean(s).
properties:
value:
type: array
items:
type: boolean
BooleanArrayCharacteristic_FVO:
allOf:
- $ref: '#/components/schemas/Characteristic_FVO'
- type: object
descr
# --- truncated at 32 KB (259 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tm-forum/refs/heads/main/openapi/tm-forum-tmf632-party-management-openapi.yaml