Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Party Management Individual API
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
paths:
/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'
components:
schemas:
Individual_FVO:
allOf:
- $ref: '#/components/schemas/Party_FVO'
- type: object
description: Individual represents a single human being (a man, woman or child). The individual can be a customer, an employee or any other person that the organization needs to store information about.
properties:
gender:
type: string
description: Gender
placeOfBirth:
type: string
description: Reference to the place where the individual was born
countryOfBirth:
type: string
description: Country where the individual was born
nationality:
type: string
description: Nationality
maritalStatus:
type: string
description: Marital status (married, divorced, widow ...)
birthDate:
type: string
format: date-time
description: Birth date
deathDate:
type: string
format: date-time
description: Date of death
title:
type: string
description: Useful for titles (aristocratic, social,...) Pr, Dr, Sir, ...
aristocraticTitle:
type: string
description: e.g. Baron, Graf, Earl
generation:
type: string
description: e.g.. Sr, Jr, III (the third)
preferredGivenName:
type: string
description: 'Contains the chosen name by which the individual prefers to be addressed. Note: This name may be a name other than a given name, such as a nickname'
familyNamePrefix:
type: string
description: Family name prefix
legalName:
type: string
description: Legal name or birth name (name one has for official purposes)
middleName:
type: string
description: Middles name or initial
name:
type: string
description: Full name flatten (first, middle, and last names) - this is the name that is expected to be presented in reference data types such as PartyRef, RelatedParty, etc. that refer to Individual
formattedName:
type: string
description: A fully formatted name in one string with all of its pieces in their proper place and all of the necessary punctuation. Useful for specific contexts (Chinese, Japanese, Korean)
location:
type: string
description: Temporary current location of the individual (may be used if the individual has approved its sharing)
status:
$ref: '#/components/schemas/IndividualStateType'
otherName:
type: array
items:
$ref: '#/components/schemas/OtherNameIndividual'
description: List of other names by which this individual is known
individualIdentification:
type: array
items:
$ref: '#/components/schemas/IndividualIdentification_FVO'
description: List of official identifications issued to the individual, such as passport, driving licence, social security number
disability:
type: array
items:
$ref: '#/components/schemas/Disability'
description: List of disabilities suffered by the individual
languageAbility:
type: array
items:
$ref: '#/components/schemas/LanguageAbility'
description: List of national languages known by the individual
skill:
type: array
items:
$ref: '#/components/schemas/Skill'
description: List of skills exhibited by the individual
familyName:
type: string
description: Contains the non-chosen or inherited name. Also known as last name in the Western context
givenName:
type: string
description: First name of the individual
required:
- givenName
- familyName
PartyRoleRef_MVO:
allOf:
- $ref: '#/components/schemas/EntityRef'
- type: object
description: Party role reference. A party role represents the part played by a party in a given context.
properties:
partyId:
type: string
description: The identifier of the engaged party that is linked to the PartyRole object.
partyName:
type: string
description: The name of the engaged party that is linked to the PartyRole object.
discriminator:
propertyName: '@type'
mapping:
PartyRoleRef: '#/components/schemas/PartyRoleRef_MVO'
PartyRoleSpecificationRef:
type: object
description: Party role specification reference. A party role specification gives additional details on the part played by a party in a given context.
allOf:
- $ref: '#/components/schemas/EntityRef'
discriminator:
propertyName: '@type'
mapping:
PartyRoleSpecificationRef: '#/components/schemas/PartyRoleSpecificationRef'
OrganizationParentRelationship_MVO:
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
description: Parent references of an organization in a structure of organizations.
properties:
relationshipType:
type: string
description: Type of the relationship. Could be juridical, hierarchical, geographical, functional for example.
organization:
$ref: '#/components/schemas/OrganizationRef_MVO'
discriminator:
propertyName: '@type'
mapping:
OrganizationParentRelationship: '#/components/schemas/OrganizationParentRelationship_MVO'
TimePeriod:
type: object
description: A period of time, either as a deadline (endDateTime only) a startDateTime only, or both
properties:
startDateTime:
description: Start of the time period, using IETC-RFC-3339 format
type: string
format: date-time
example: '1985-04-12T23:20:50.52Z'
endDateTime:
description: End of the time period, using IETC-RFC-3339 format
type: string
format: date-time
example: '1985-04-12T23:20:50.52Z'
OtherNameOrganization_FVO:
allOf:
- $ref: '#/components/schemas/Extensible_FVO'
- type: object
description: Keeps track of other names, for example the old name of an organization.
properties:
tradingName:
type: string
description: The name that the organization trades under
nameType:
type: string
description: Co. , Inc. , Ltd. , Pty Ltd. , Plc; , Gmbh
name:
type: string
description: Organization name (department name for example)
validFor:
$ref: '#/components/schemas/TimePeriod'
discriminator:
propertyName: '@type'
mapping:
OtherNameOrganization: '#/components/schemas/OtherNameOrganization_FVO'
Entity:
type: object
description: Base entity schema for use in TMForum Open-APIs. Property.
allOf:
- $ref: '#/components/schemas/Extensible'
- $ref: '#/components/schemas/Addressable'
RelatedPartyOrPartyRole_FVO:
allOf:
- $ref: '#/components/schemas/Extensible_FVO'
- type: object
description: RelatedParty reference. A related party defines party or party role or its reference, linked to a specific entity
properties:
role:
description: Role played by the related party or party role in the context of the specific entity it is linked to. Such as 'initiator', 'customer', 'salesAgent', 'user'
type: string
partyOrPartyRole:
$ref: '#/components/schemas/PartyOrPartyRole_FVO'
required:
- role
discriminator:
propertyName: '@type'
mapping:
RelatedPartyOrPartyRole: '#/components/schemas/RelatedPartyOrPartyRole_FVO'
TaxExemptionCertificate_FVO:
allOf:
- $ref: '#/components/schemas/Extensible_FVO'
- type: object
description: A tax exemption certificate represents a tax exemption granted to a party (individual or organization) by a tax jurisdiction which may be a city, state, country,... An exemption has a certificate identifier (received from the jurisdiction that levied the tax) and a validity period. An exemption is per tax types and determines for each type of tax what portion of the tax is exempted (partial by percentage or complete) via the tax definition.
properties:
id:
type: string
description: Identifier of the tax exemption within list of the exemptions
taxDefinition:
type: array
items:
$ref: '#/components/schemas/TaxDefinition_FVO'
description: A list of taxes that are covered by the exemption, e.g. City Tax, State Tax. The definition would include the exemption (e.g. for a rate exemption 0% would be a full exemption, 5% could be a partial exemption if the actual rate was 10%).
validFor:
$ref: '#/components/schemas/TimePeriod'
certificateNumber:
type: string
description: Identifier of a document that shows proof of exemption from taxes for the taxing jurisdiction
issuingJurisdiction:
type: string
description: Name of the jurisdiction that issued the exemption
example: USA
reason:
type: string
description: Reason for the tax exemption
attachment:
$ref: '#/components/schemas/AttachmentRefOrValue_FVO'
discriminator:
propertyName: '@type'
mapping:
TaxExemptionCertificate: '#/components/schemas/TaxExemptionCertificate_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'
PartyRef:
type: object
description: A Party reference
allOf:
- $ref: '#/components/schemas/EntityRef'
discriminator:
propertyName: '@type'
mapping:
PartyRef: '#/components/schemas/PartyRef'
OrganizationParentRelationship:
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
description: Parent references of an organization in a structure of organizations.
properties:
relationshipType:
type: string
description: Type of the relationship. Could be juridical, hierarchical, geographical, functional for example.
organization:
$ref: '#/components/schemas/OrganizationRef'
discriminator:
propertyName: '@type'
mapping:
OrganizationParentRelationship: '#/components/schemas/OrganizationParentRelationship'
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'
Extensible:
type: object
description: Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type
properties:
'@type':
type: string
description: When sub-classing, this defines the sub-class Extensible name
'@baseType':
type: string
description: When sub-classing, this defines the super-class
'@schemaLocation':
type: string
description: A URI to a JSON-Schema file that defines additional attributes and relationships
required:
- '@type'
PartyOrPartyRole_MVO:
type: object
description: ''
oneOf:
- $ref: '#/components/schemas/PartyRef_MVO'
- $ref: '#/components/schemas/PartyRoleRef_MVO'
- $ref: '#/components/schemas/Individual_MVO'
- $ref: '#/components/schemas/Organization_MVO'
- $ref: '#/components/schemas/PartyRole_MVO'
- $ref: '#/components/schemas/Supplier_MVO'
- $ref: '#/components/schemas/BusinessPartner_MVO'
- $ref: '#/components/schemas/Consumer_MVO'
- $ref: '#/components/schemas/Producer_MVO'
discriminator:
propertyName: '@type'
mapping:
PartyRef: '#/components/schemas/PartyRef_MVO'
PartyRoleRef: '#/components/schemas/PartyRoleRef_MVO'
Individual: '#/components/schemas/Individual_MVO'
Organization: '#/components/schemas/Organization_MVO'
PartyRole: '#/components/schemas/PartyRole_MVO'
Supplier: '#/components/schemas/Supplier_MVO'
BusinessPartner: '#/components/schemas/BusinessPartner_MVO'
Consumer: '#/components/schemas/Consumer_MVO'
Producer: '#/components/schemas/Producer_MVO'
Consumer_FVO:
type: object
allOf:
- $ref: '#/components/schemas/PartyRole_FVO'
PartyRoleRef:
allOf:
- $ref: '#/components/schemas/EntityRef'
- type: object
description: Party role reference. A party role represents the part played by a party in a given context.
properties:
partyId:
type: string
description: The identifier of the engaged party that is linked to the PartyRole object.
partyName:
type: string
description: The name of the engaged party that is linked to the PartyRole object.
discriminator:
propertyName: '@type'
mapping:
PartyRoleRef: '#/components/schemas/PartyRoleRef'
TaxDefinition_MVO:
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
description: Reference of a tax definition. A tax is levied by an authorized tax jurisdiction. For example, there are many different types of tax (Federal Tax levied by the US Government, State Tax levied by the State of California, City Tax levied by the City of Los Angeles, etc.).
properties:
id:
type: string
description: Unique identifier of the tax.
name:
type: string
description: Tax name.
validFor:
$ref: '#/components/schemas/TimePeriod'
jurisdictionName:
type: string
description: Name of the jurisdiction that levies the tax
example: USA
jurisdictionLevel:
type: string
description: Level of the jurisdiction that levies the tax
example: Country
taxType:
type: string
description: Type of the tax.
example: VAT
discriminator:
propertyName: '@type'
mapping:
TaxDefinition: '#/components/schemas/TaxDefinition_MVO'
RelatedPartyOrPartyRole_MVO:
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
description: RelatedParty reference. A related party defines party or party role or its reference, linked to a specific entity
properties:
role:
description: Role played by the related party or party role in the context of the specific entity it is linked to. Such as 'initiator', 'customer', 'salesAgent', 'user'
type: string
partyOrPartyRole:
$ref: '#/components/schemas/PartyOrPartyRole_MVO'
required:
- role
discriminator:
propertyName: '@type'
mapping:
RelatedPartyOrPartyRole: '#/components/schemas/RelatedPartyOrPartyRole_MVO'
OrganizationRef_FVO:
type: object
allOf:
- $ref: '#/components/schemas/EntityRef_FVO'
discriminator:
propertyName: '@type'
mapping:
OrganizationRef: '#/components/schemas/OrganizationRef_FVO'
TaxExemptionCertificate:
allOf:
- $ref: '#/components/schemas/Extensible'
- type: object
description: A tax exemption certificate represents a tax exemption granted to a party (individual or organization) by a tax jurisdiction which may be a city, state, country,... An exemption has a certificate identifier (received from the jurisdiction that levied the tax) and a validity period. An exemption is per tax types and determines for each type of tax what portion of the tax is exempted (partial by percentage or complete) via the tax definition.
properties:
id:
type: string
description: Identifier of the tax exemption within list of the exemptions
taxDefinition:
type: array
items:
$ref: '#/components/schemas/TaxDefinition'
description: A list of taxes that are covered by the exemption, e.g. City Tax, State Tax. The definition would include the exemption (e.g. for a rate exemption 0% would be a full exemption, 5% could be a partial exemption if the actual rate was 10%).
validFor:
$ref: '#/components/schemas/TimePeriod'
certificateNumber:
type: string
description: Identifier of a document that shows proof of exemption from taxes for the taxing jurisdiction
issuingJurisdiction:
type: string
description: Name of the jurisdiction that issued the exemption
example: USA
reason:
type: string
description: Reason for the tax exemption
attachment:
$ref: '#/components/schemas/AttachmentRefOrValue'
discriminator:
propertyName: '@type'
mapping:
TaxExemptionCertificate: '#/components/schemas/TaxExemptionCertificate'
Party_FVO:
allOf:
- $ref: '#/components/schemas/Entity_FVO'
- type: object
description: Generic and Abstract Party structure used to define commonalities between sub concepts of Individual and Organization.
properties:
externalReference:
type: array
items:
$ref: '#/components/schemas/ExternalIdentifier_FVO'
description: List of identifiers of the Party in an external system, for example when party information is imported from a commerce system
partyCharacteristic:
type: array
items:
$ref: '#/components/schemas/Characteristic_FVO'
description: List of additional characteristics that a Party can take on.
taxExemptionCertificate:
type: array
items:
$ref: '#/components/schemas/TaxExemptionCertificate_FVO'
description: List of tax exemptions granted to the party. For example, a war veteran might have partial exemption from state tax and a full exemption from federal tax
creditRating:
type: array
items:
$ref: '#/components/schemas/PartyCreditProfile_FVO'
description: List of credit profiles and scores for the party, typically received from an external credit broker
relatedParty:
type: array
items:
$ref: '#/components/schemas/RelatedPartyOrPartyRole_FVO'
description: List of parties and/or party roles related to this party
contactMedium:
type: array
items:
$ref: '#/components/schemas/ContactMedium_FVO'
description: List of means for contacting the party, e.g. mobile phone, email address
discriminator:
propertyName: '@type'
mapping:
Party: '#/components/schemas/Party_FVO'
Organization: '#/components/schemas/Organization_FVO'
Individual: '#/components/schemas/Individual_FVO'
OrganizationRef_MVO:
type: object
allOf:
- $ref: '#/components/schemas/EntityRef'
discriminator:
propertyName: '@type'
mapping:
OrganizationRef: '#/components/schemas/OrganizationRef_MVO'
PartyOrPartyRole_FVO:
type: object
description: ''
oneOf:
- $ref: '#/components/schemas/PartyRef_FVO'
- $ref: '#/components/schemas/PartyRoleRef_FVO'
- $ref: '#/components/schemas/Individual_FVO'
- $ref: '#/components/schemas/Organization_FVO'
- $ref: '#/components/schemas/PartyRole_FVO'
- $ref: '#/components/schemas/Supplier_FVO'
- $ref: '#/components/schemas/BusinessPartner_FVO'
- $ref: '#/components/schemas/Consumer_FVO'
- $ref: '#/components/schemas/Producer_FVO'
discriminator:
propertyName: '@type'
mapping:
PartyRef: '#/components/schemas/PartyRef_FVO'
PartyRoleRef: '#/components/schemas/PartyRoleRef_FVO'
Individual: '#/components/schemas/Individual_FVO'
Organization: '#/components/schemas/Organization_FVO'
PartyRole: '#/components/schemas/PartyRole_FVO'
Supplier: '#/components/schemas/Supplier_FVO'
BusinessPartner: '#/components/schemas/BusinessPartner_FVO'
Consumer: '#/components/schemas/Consumer_FVO'
Producer: '#/components/schemas/Producer_FVO'
JsonPatch:
type: object
description: A JSONPatch document as defined by RFC 6902
required:
- op
- path
properties:
op:
type: string
description: The operation to be performed
enum:
- add
- remove
- replace
- move
- copy
- test
path:
type: string
description: A JSON-Pointer
value:
description: The value to be used within the operations.
from:
type: string
description: A string containing a JSON Pointer value.
Organization:
allOf:
- $ref: '#/components/schemas/Party'
- type: object
description: Organization represents a group of people identified by shared interests or purpose. Examples include business, department and enterprise. Because of the complex nature of many businesses, both organizations and organization units are represented by the same data.
properties:
isLegalEntity:
type: boolean
description: If value is true, the organization is a legal entity known by a national referential.
isHeadOffice:
type: boolean
description: If value is true, the organization is the head office
organizationType:
type: string
description: Type of Organization (company, department...)
existsDuring:
$ref: '#/components/schemas/TimePeriod'
name:
type: string
description: Organization name (department name for example)
nameType:
type: string
description: 'Type of the name : Co, Inc, Ltd, etc.'
status:
$ref: '#/components/schemas/OrganizationStateType'
otherName:
type: array
items:
$ref: '#/components/schemas/OtherNameOrganization'
description: List of additional names by which the organization is known
organizationIdentification:
type: array
items:
$ref: '#/components/schemas/OrganizationIdentification'
description: List of official identifiers given to the organization, for example company number in the registry of companies
organizationChildRelationship:
type: array
items:
$ref: '#/components/schemas/OrganizationChildRelationship'
description: List of organizations that are contained within this organization. For example if this organization is the Legal Department, the child organizations might include Claims, Courts, Contracts
organizationParentRelationship:
$ref: '#/components/schemas/OrganizationParentRelationship'
tradingName:
type: string
description: Name that the organization (unit) trades under
PartyRole_MVO:
allOf:
- $ref: '#/components/schemas/Entity_MVO'
- type: object
description: The part played by a party in a given context.
properties:
name:
type: string
description: A word, term, or phrase by which the PartyRole is known and distinguished from other PartyRoles. It's the name of the PartyRole unique entity.
description:
# --- truncated at 32 KB (152 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tm-forum/refs/heads/main/openapi/tm-forum-individual-api-openapi.yml