openapi: 3.0.1 info: title: Product Catalog Management agreement individual API description: "Product Catalog API is one of Catalog Management API Family. Product Catalog API goal is to provide a catalog of products. \n### Operations\nProduct Catalog API performs the following operations on the resources :\n- Retrieve an entity or a collection of entities depending on filter criteria\n- Partial update of an entity (including updating rules)\n- Create an entity (including default values and creation rules)\n- Delete an entity\n- Manage notification of events" version: 5.0.0 servers: - url: https://serverRoot/productCatalogManagement/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: 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' EntityRef_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - $ref: '#/components/schemas/Addressable_FVO' - type: object description: Entity reference schema to be use for all entityRef class. properties: id: type: string description: The identifier of the referred entity. href: type: string description: The URI of the referred entity. name: type: string description: Name of the referred entity. '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id ContactMedium: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Indicates the contact medium that could be used to contact the party. properties: id: type: string description: Identifier for this contact medium. preferred: type: boolean description: If true, indicates that is the preferred contact medium contactType: type: string description: Type of the contact medium to qualifiy it like pro email / personal email. This is not used to define the contact medium used. validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: ContactMedium: '#/components/schemas/ContactMedium' SocialContactMedium: '#/components/schemas/SocialContactMedium' PhoneContactMedium: '#/components/schemas/PhoneContactMedium' GeographicAddressContactMedium: '#/components/schemas/GeographicAddressContactMedium' FaxContactMedium: '#/components/schemas/FaxContactMedium' EmailContactMedium: '#/components/schemas/EmailContactMedium' 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' Supplier_MVO: type: object description: 'When business partner is the Supplier ' allOf: - $ref: '#/components/schemas/PartyRole_MVO' OrganizationChildRelationship_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Child 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: OrganizationChildRelationship: '#/components/schemas/OrganizationChildRelationship_MVO' 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' Producer: type: object allOf: - $ref: '#/components/schemas/PartyRole' 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' 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' PartyCreditProfile_FVO: allOf: - $ref: '#/components/schemas/Entity_FVO' - type: object description: An individual might be evaluated for its worthiness and this evaluation might be based on a credit rating given by a credit agency. properties: creditAgencyName: type: string description: Name of the credit agency giving the score creditAgencyType: type: string description: Type of the credit agency giving the score ratingReference: type: string description: Reference corresponding to the credit rating ratingScore: type: integer format: int32 description: A measure of a party's creditworthiness calculated on the basis of a combination of factors such as their income and credit history validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: PartyCreditProfile: '#/components/schemas/PartyCreditProfile_FVO' PaymentMethodRef: type: object description: PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit). allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: PaymentMethodRef: '#/components/schemas/PaymentMethodRef' 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' CreditProfile_MVO: allOf: - $ref: '#/components/schemas/Entity_MVO' - type: object description: Credit profile for the party (containing credit scoring, ...). By default only the current credit profile is retrieved. It can be used as a list to give the party credit profiles history, the first one in the list will be the current one. properties: creditProfileDate: type: string format: date-time description: The date the profile was established creditRiskRating: type: integer description: This is an integer whose value is used to rate the risk creditScore: type: integer description: A measure of a person or organizations creditworthiness calculated on the basis of a combination of factors such as their income and credit history validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: CreditProfile: '#/components/schemas/CreditProfile_MVO' 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' PartyRoleRef_FVO: allOf: - $ref: '#/components/schemas/EntityRef_FVO' - 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_FVO' 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' Characteristic_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Describes a given characteristic of an object or entity through a name/value pair. properties: id: type: string description: Unique identifier of the characteristic name: type: string description: Name of the characteristic valueType: type: string description: Data type of the value of the characteristic characteristicRelationship: type: array items: $ref: '#/components/schemas/CharacteristicRelationship_FVO' required: - name discriminator: propertyName: '@type' mapping: Characteristic: '#/components/schemas/Characteristic_FVO' StringCharacteristic: '#/components/schemas/StringCharacteristic_FVO' StringArrayCharacteristic: '#/components/schemas/StringArrayCharacteristic_FVO' ObjectCharacteristic: '#/components/schemas/ObjectCharacteristic_FVO' ObjectArrayCharacteristic: '#/components/schemas/ObjectArrayCharacteristic_FVO' NumberCharacteristic: '#/components/schemas/NumberCharacteristic_FVO' NumberArrayCharacteristic: '#/components/schemas/NumberArrayCharacteristic_FVO' IntegerCharacteristic: '#/components/schemas/IntegerCharacteristic_FVO' IntegerArrayCharacteristic: '#/components/schemas/IntegerArrayCharacteristic_FVO' FloatCharacteristic: '#/components/schemas/FloatCharacteristic_FVO' BooleanCharacteristic: '#/components/schemas/BooleanCharacteristic_FVO' Producer_FVO: type: object allOf: - $ref: '#/components/schemas/PartyRole_FVO' OrganizationRef_FVO: type: object allOf: - $ref: '#/components/schemas/EntityRef_FVO' discriminator: propertyName: '@type' mapping: OrganizationRef: '#/components/schemas/OrganizationRef_FVO' Supplier_FVO: type: object description: 'When business partner is the Supplier ' allOf: - $ref: '#/components/schemas/PartyRole_FVO' 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 OrganizationRef: type: object allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: OrganizationRef: '#/components/schemas/OrganizationRef' OtherNameOrganization: allOf: - $ref: '#/components/schemas/Extensible' - 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' Extensible_FVO: 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' BusinessPartner_FVO: type: object description: 'When business partner is the BusinessPartner ' allOf: - $ref: '#/components/schemas/PartyRole_FVO' Consumer_FVO: type: object allOf: - $ref: '#/components/schemas/PartyRole_FVO' PartyCreditProfile: allOf: - $ref: '#/components/schemas/Entity' - type: object description: An individual might be evaluated for its worthiness and this evaluation might be based on a credit rating given by a credit agency. properties: creditAgencyName: type: string description: Name of the credit agency giving the score creditAgencyType: type: string description: Type of the credit agency giving the score ratingReference: type: string description: Reference corresponding to the credit rating ratingScore: type: integer format: int32 description: A measure of a party's creditworthiness calculated on the basis of a combination of factors such as their income and credit history validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: PartyCreditProfile: '#/components/schemas/PartyCreditProfile' 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' JsonPatchOperations: description: JSONPatch Operations document as defined by RFC 6902 type: array items: $ref: '#/components/schemas/JsonPatch' 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' IndividualStateType: enum: - initialized - validated - deceased type: string description: Valid values for the lifecycle state of the individual ContactMedium_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Indicates the contact medium that could be used to contact the party. properties: id: type: string description: Identifier for this contact medium. preferred: type: boolean description: If true, indicates that is the preferred contact medium contactType: type: string description: Type of the contact medium to qualifiy it like pro email / personal email. This is not used to define the contact medium used. validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: ContactMedium: '#/components/schemas/ContactMedium_MVO' SocialContactMedium: '#/components/schemas/SocialContactMedium_MVO' PhoneContactMedium: '#/components/schemas/PhoneContactMedium_MVO' GeographicAddressContactMedium: '#/components/schemas/GeographicAddressContactMedium_MVO' FaxContactMedium: '#/components/schemas/FaxContactMedium_MVO' EmailContactMedium: '#/components/schemas/EmailContactMedium_MVO' Quantity: type: object description: An amount in a given unit properties: amount: type: number format: float default: 1 description: Numeric value in a given unit units: type: string description: Unit Organization_FVO: allOf: - $ref: '#/components/schemas/Party_FVO' - 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_FVO' description: List of additional names by which the organization is known organizationIdentification: type: array items: $ref: '#/components/schemas/OrganizationIdentification_FVO' 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_FVO' 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_FVO' tradingName: type: string description: Name that the organization (unit) trades under required: - name CharacteristicRelationship_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Another Characteristic that is related to the current Characteristic; properties: id: type: string description: Unique identifier of the characteristic relationshipType: type: string description: The type of relationship discriminator: propertyName: '@type' mapping: CharacteristicRelationship: '#/components/schemas/CharacteristicRelationship_MVO' 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' 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 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' OrganizationParentRelationship_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - 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_FVO' discriminator: propertyName: '@type' mapping: OrganizationParentRelationship: '#/components/schemas/OrganizationParentRelationship_FVO' Entity_FVO: type: object description: Base entity schema for use in TMForum Open-APIs. Property. allOf: - $ref: '#/components/schemas/Extensible_FVO' - $ref: '#/components/schemas/Addressable_FVO' OtherNameIndividual: type: object description: Keeps track of other names, for example the old name of a woman before marriage or an artist name. properties: title: type: string description: 'Use for titles (aristrocatic, social, ...): Pr, Dr, Sir,....' aristocraticTitle: type: string description: e.g. Baron, Graf, Earl, etc. generation: type: string description: e.g. Sr, Jr, etc. givenName: type: string description: First name preferredGivenName: type: string description: 'Contains the chosen name by which the person 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 familyName: type: string description: Contains the non-chosen or inherited name. Also known as last name in the Western context legalName: type: string description: Legal name or birth name (name one has for official purposes) middleName: type: string description: Middle name or initial fullName: type: string description: Full name flatten (first, middle, and last names) 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, etc.) validFor: $ref: '#/components/schemas/TimePeriod' CreditProfile: allOf: - $ref: '#/components/schemas/Entity' - type: object description: Credit profile for the party (containing credit scoring, ...). By default only the current credit profile is retrieved. It can be used as a list to give the party credit profiles history, the first one in the list will be the current one. properties: creditProfileDate: type: string format: date-time description: The date the profile was established creditRiskRating: type: integer description: This is an integer whose value is used to rate the risk creditScore: type: integer description: A measure of a person or organizations creditworthiness calculated on the basis of a combination of factors such as their income and credit history validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: CreditProfile: '#/components/schemas/CreditProfile' PartyRole_FVO: allOf: - $ref: '#/components/schemas/Entity_FVO' - 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: type: string description: A description of the PartyRole. role: type: string description: Role played by the engagedParty in this context. As role is defined by partyRoleSpecification, this role attribute can be used to precise the role defined by partyRoleSpecification, or it can be used to define the role in case there is no partyRoleSpecification. engagedParty: $ref: '#/components/schemas/PartyRef_FVO' partyRoleSpecification: $ref: '#/components/schemas/PartyRoleSpecificationRef_FVO' characteristic: type: array items: $ref: '#/components/schemas/Characteristic_FVO' description: Describes the characteristic of a party role. account: type: array items: $ref: '#/components/schemas/AccountRef_FVO' agreement: type: array items: $ref: '#/components/schemas/AgreementRef_FVO' contactMedium: type: array items: $ref: '#/components/schemas/ContactMedium_FVO' paymentMethod: type: array items: $ref: '#/components/schemas/PaymentMethodRef_FVO' creditProfile: type: array items: $ref: '#/components/schemas/CreditProfile_FVO' relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyOrPartyRole_FVO' status: type: string description: Used to track the lifecycle status of the party role. statusReason: type: string description: A string providing an explanation on the value of the status lifecycle. For instance if the status is Rejected, statusReason will provide the reason for rejection. validFor: $ref: '#/components/schemas/TimePeriod' required: - name - engagedParty discriminator: propertyName: '@type' mapping: PartyRole: '#/components/schemas/PartyRole_FVO' Supplier: '#/components/schemas/Supplier_FVO' Producer: '#/components/schemas/Producer_FVO' Consumer: '#/components/schemas/Consumer_FVO' BusinessPartner: '#/components/schemas/BusinessPartner_FVO' Individual: allOf: - $ref: '#/components/schemas/Party' - 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' 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 OrganizationChildRelationship: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Child 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: OrganizationChildRelationship: '#/components/schemas/OrganizationChildRelationship' 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' IndividualIdentification_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Represents our registration of information used as proof of identity by an individual (passport, national identity card, drivers license, social security number, birth certificate) properties: identificationId: type: string description: Identifier issuingAuthority: type: string description: 'Authority which has issued the identifier, such as: social security, town hall' issuingDate: type: string format: date-time description: Date at which the identifier was issued identificationType: type: string description: Identification type (passport, national identity card, drivers license, social security number, birth certificate) validFor: $ref: '#/components/schemas/TimePeriod' attachment: $ref: '#/components/schemas/AttachmentRefOrValue_MVO' discriminator: propertyName: '@type' mapping: IndividualIdentification: '#/components/schemas/IndividualIdentification_MVO' PartyCreditProfile_MVO: allOf: - $ref: '#/components/schemas/Entity_MVO' - type: object description: An individual might be evaluated for its worthiness and this evaluation might be based on a credit rating given by a credit agency. properties: creditAgencyName: type: string description: Name of the credit agency giving the score creditAgencyType: type: string description: Type of the credit agency giving the score ratingReference: type: string description: Reference corresponding to the credit rating ratingScore: type: integer format: int32 description: A measure of a party's creditworthiness calculated on the basis of a combination of factors such as their income and credit history validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: PartyCreditProfile: '#/components/schemas/PartyCreditProfile_MVO' LanguageAbility: type: object description: Ability of an individual to understand or converse in a language. properties: languageCode: type: string description: Language code (RFC 5646) languageName: type: string description: Language name isFavouriteLanguage: type: boolean description: A “true” value specifies whether the language is considered by the individual as his favourite one writingProficiency: type: string description: Writing proficiency evaluated for this language readingProficiency: type: string description: Reading proficiency evaluated for this language speakingProficiency: type: string description: Speaking proficiency evaluated for this language listeningProficiency: type: string description: Listening proficiency evaluated for this language validFor: $ref: '#/components/schemas/TimePeriod' ExternalIdentifier_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: An identification of an entity that is owned by or originates in a software system different from the current system, for example a ProductOrder handed off from a commerce platform into an order handling system. The structure identifies the system itself, the nature of the entity within the system (e.g. class name) and the unique ID of the entity within the system. It is anticipated that multiple external IDs can be held for a single entity, e.g. if the entity passed through multiple systems on the way to the current system. In this case the consumer is expected to sequence the IDs in the array in reverse order of provenance, i.e. most recent system first in the list. properties: owner: type: string description: Name of the external system that owns the entity. example: MagentoCommerce externalIdentifierType: type: string description: Type of the identification, typically would be the type of the entity within the external system example: ProductOrder id: type: string description: identification of the entity within the external system. discriminator: propertyName: '@type' mapping: ExternalIdentifier: '#/components/schemas/ExternalIdentifier_MVO' PartyRef_MVO: type: object description: A Party reference allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef_MVO' 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' Party: allOf: - $ref: '#/components/schemas/Entity' - 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' 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' description: List of additional characteristics that a Party can take on. taxExemptionCertificate: type: array items: $ref: '#/components/schemas/TaxExemptionCertificate' 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' 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' description: List of parties and/or party roles related to this party contactMedium: type: array items: $ref: '#/components/schemas/ContactMedium' description: List of means for contacting the party, e.g. mobile phone, email address discriminator: propertyName: '@type' mapping: Party: '#/components/schemas/Party' Organization: '#/components/schemas/Organization' Individual: '#/components/schemas/Individual' Disability: type: object description: Lack or inadequate strength or ability. properties: disabilityCode: type: string description: Code of the disability disabilityName: type: string description: Name of the disability validFor: $ref: '#/components/schemas/TimePeriod' PaymentMethodRef_MVO: type: object description: PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit). allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: PaymentMethodRef: '#/components/schemas/PaymentMethodRef_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' 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' TaxDefinition_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - 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_FVO' Producer_MVO: type: object allOf: - $ref: '#/components/schemas/PartyRole_MVO' PartyRef: type: object description: A Party reference allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef' Individual_MVO: allOf: - $ref: '#/components/schemas/Party_MVO' - 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_MVO' 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 BusinessPartner_MVO: type: object description: 'When business partner is the BusinessPartner ' allOf: - $ref: '#/components/schemas/PartyRole_MVO' Party_MVO: allOf: - $ref: '#/components/schemas/Entity_MVO' - 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_MVO' 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_MVO' description: List of additional characteristics that a Party can take on. taxExemptionCertificate: type: array items: $ref: '#/components/schemas/TaxExemptionCertificate_MVO' 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_MVO' 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_MVO' description: List of parties and/or party roles related to this party contactMedium: type: array items: $ref: '#/components/schemas/ContactMedium_MVO' description: List of means for contacting the party, e.g. mobile phone, email address discriminator: propertyName: '@type' mapping: Party: '#/components/schemas/Party_MVO' Organization: '#/components/schemas/Organization_MVO' Individual: '#/components/schemas/Individual_MVO' Entity_MVO: type: object description: Base entity schema for use in TMForum Open-APIs. Property. allOf: - $ref: '#/components/schemas/Extensible' TaxExemptionCertificate_MVO: 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_MVO' 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_MVO' discriminator: propertyName: '@type' mapping: TaxExemptionCertificate: '#/components/schemas/TaxExemptionCertificate_MVO' TaxDefinition: 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' OrganizationRef_MVO: type: object allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: OrganizationRef: '#/components/schemas/OrganizationRef_MVO' 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' Characteristic_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Describes a given characteristic of an object or entity through a name/value pair. properties: id: type: string description: Unique identifier of the characteristic name: type: string description: Name of the characteristic valueType: type: string description: Data type of the value of the characteristic characteristicRelationship: type: array items: $ref: '#/components/schemas/CharacteristicRelationship_MVO' discriminator: propertyName: '@type' mapping: Characteristic: '#/components/schemas/Characteristic_MVO' StringCharacteristic: '#/components/schemas/StringCharacteristic_MVO' StringArrayCharacteristic: '#/components/schemas/StringArrayCharacteristic_MVO' ObjectCharacteristic: '#/components/schemas/ObjectCharacteristic_MVO' ObjectArrayCharacteristic: '#/components/schemas/ObjectArrayCharacteristic_MVO' NumberCharacteristic: '#/components/schemas/NumberCharacteristic_MVO' NumberArrayCharacteristic: '#/components/schemas/NumberArrayCharacteristic_MVO' IntegerCharacteristic: '#/components/schemas/IntegerCharacteristic_MVO' IntegerArrayCharacteristic: '#/components/schemas/IntegerArrayCharacteristic_MVO' FloatCharacteristic: '#/components/schemas/FloatCharacteristic_MVO' BooleanCharacteristic: '#/components/schemas/BooleanCharacteristic_MVO' 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' CreditProfile_FVO: allOf: - $ref: '#/components/schemas/Entity_FVO' - type: object description: Credit profile for the party (containing credit scoring, ...). By default only the current credit profile is retrieved. It can be used as a list to give the party credit profiles history, the first one in the list will be the current one. properties: creditProfileDate: type: string format: date-time description: The date the profile was established creditRiskRating: type: integer description: This is an integer whose value is used to rate the risk creditScore: type: integer description: A measure of a person or organizations creditworthiness calculated on the basis of a combination of factors such as their income and credit history validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: CreditProfile: '#/components/schemas/CreditProfile_FVO' IndividualIdentification: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Represents our registration of information used as proof of identity by an individual (passport, national identity card, drivers license, social security number, birth certificate) properties: identificationId: type: string description: Identifier issuingAuthority: type: string description: 'Authority which has issued the identifier, such as: social security, town hall' issuingDate: type: string format: date-time description: Date at which the identifier was issued identificationType: type: string description: Identification type (passport, national identity card, drivers license, social security number, birth certificate) validFor: $ref: '#/components/schemas/TimePeriod' attachment: $ref: '#/components/schemas/AttachmentRefOrValue' discriminator: propertyName: '@type' mapping: IndividualIdentification: '#/components/schemas/IndividualIdentification' OrganizationChildRelationship_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Child 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_FVO' discriminator: propertyName: '@type' mapping: OrganizationChildRelationship: '#/components/schemas/OrganizationChildRelationship_FVO' OrganizationIdentification_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Represents our registration of information used as proof of identity by an organization properties: identificationId: type: string description: Identifier issuingAuthority: type: string description: Authority which has issued the identifier (chamber of commerce...) issuingDate: type: string format: date-time description: Date at which the identifier was issued identificationType: type: string description: Type of identification information used to identify the company in a country or internationally validFor: $ref: '#/components/schemas/TimePeriod' attachment: $ref: '#/components/schemas/AttachmentRefOrValue_FVO' discriminator: propertyName: '@type' mapping: OrganizationIdentification: '#/components/schemas/OrganizationIdentification_FVO' PaymentMethodRef_FVO: type: object description: PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit). allOf: - $ref: '#/components/schemas/EntityRef_FVO' discriminator: propertyName: '@type' mapping: PaymentMethodRef: '#/components/schemas/PaymentMethodRef_FVO' OrganizationIdentification: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Represents our registration of information used as proof of identity by an organization properties: identificationId: type: string description: Identifier issuingAuthority: type: string description: Authority which has issued the identifier (chamber of commerce...) issuingDate: type: string format: date-time description: Date at which the identifier was issued identificationType: type: string description: Type of identification information used to identify the company in a country or internationally validFor: $ref: '#/components/schemas/TimePeriod' attachment: $ref: '#/components/schemas/AttachmentRefOrValue' discriminator: propertyName: '@type' mapping: OrganizationIdentification: '#/components/schemas/OrganizationIdentification' Error: discriminator: propertyName: '@type' mapping: Error: '#/components/schemas/Error' allOf: - $ref: '#/components/schemas/Extensible' - type: object required: - code - reason properties: code: type: string description: Application relevant detail, defined in the API or a common list. reason: type: string description: Explanation of the reason for the error which can be shown to a client user. message: type: string description: More details and corrective actions related to the error which can be shown to a client user. status: type: string description: HTTP Error code extension referenceError: type: string description: URI of documentation describing the error. description: Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx) CharacteristicRelationship: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Another Characteristic that is related to the current Characteristic; properties: id: type: string description: Unique identifier of the characteristic relationshipType: type: string description: The type of relationship discriminator: propertyName: '@type' mapping: CharacteristicRelationship: '#/components/schemas/CharacteristicRelationship' 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. 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' 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' Entity: type: object description: Base entity schema for use in TMForum Open-APIs. Property. allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/Addressable' Consumer_MVO: type: object allOf: - $ref: '#/components/schemas/PartyRole_MVO' 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' ContactMedium_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Indicates the contact medium that could be used to contact the party. properties: id: type: string description: Identifier for this contact medium. preferred: type: boolean description: If true, indicates that is the preferred contact medium contactType: type: string description: Type of the contact medium to qualifiy it like pro email / personal email. This is not used to define the contact medium used. validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: ContactMedium: '#/components/schemas/ContactMedium_FVO' SocialContactMedium: '#/components/schemas/SocialContactMedium_FVO' PhoneContactMedium: '#/components/schemas/PhoneContactMedium_FVO' GeographicAddressContactMedium: '#/components/schemas/GeographicAddressContactMedium_FVO' FaxContactMedium: '#/components/schemas/FaxContactMedium_FVO' EmailContactMedium: '#/components/schemas/EmailContactMedium_FVO' 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' IndividualIdentification_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Represents our registration of information used as proof of identity by an individual (passport, national identity card, drivers license, social security number, birth certificate) properties: identificationId: type: string description: Identifier issuingAuthority: type: string description: 'Authority which has issued the identifier, such as: social security, town hall' issuingDate: type: string format: date-time description: Date at which the identifier was issued identificationType: type: string description: Identification type (passport, national identity card, drivers license, social security number, birth certificate) validFor: $ref: '#/components/schemas/TimePeriod' attachment: $ref: '#/components/schemas/AttachmentRefOrValue_FVO' discriminator: propertyName: '@type' mapping: IndividualIdentification: '#/components/schemas/IndividualIdentification_FVO' RelatedPartyOrPartyRole: 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' discriminator: propertyName: '@type' mapping: RelatedPartyOrPartyRole: '#/components/schemas/RelatedPartyOrPartyRole' Organization_MVO: allOf: - $ref: '#/components/schemas/Party_MVO' - 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_MVO' description: List of additional names by which the organization is known organizationIdentification: type: array items: $ref: '#/components/schemas/OrganizationIdentification_MVO' 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_MVO' 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_MVO' tradingName: type: string description: Name that the organization (unit) trades under OtherNameOrganization_MVO: allOf: - $ref: '#/components/schemas/Extensible' - 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_MVO' OrganizationIdentification_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Represents our registration of information used as proof of identity by an organization properties: identificationId: type: string description: Identifier issuingAuthority: type: string description: Authority which has issued the identifier (chamber of commerce...) issuingDate: type: string format: date-time description: Date at which the identifier was issued identificationType: type: string description: Type of identification information used to identify the company in a country or internationally validFor: $ref: '#/components/schemas/TimePeriod' attachment: $ref: '#/components/schemas/AttachmentRefOrValue_MVO' discriminator: propertyName: '@type' mapping: OrganizationIdentification: '#/components/schemas/OrganizationIdentification_MVO' OrganizationStateType: enum: - initialized - validated - closed type: string description: Valid values for the lifecycle state of the organization 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_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' CharacteristicRelationship_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Another Characteristic that is related to the current Characteristic; properties: id: type: string description: Unique identifier of the characteristic relationshipType: type: string description: The type of relationship required: - id - relationshipType discriminator: propertyName: '@type' mapping: CharacteristicRelationship: '#/components/schemas/CharacteristicRelationship_FVO' 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: type: string description: A description of the PartyRole. role: type: string description: Role played by the engagedParty in this context. As role is defined by partyRoleSpecification, this role attribute can be used to precise the role defined by partyRoleSpecification, or it can be used to define the role in case there is no partyRoleSpecification. engagedParty: $ref: '#/components/schemas/PartyRef_MVO' partyRoleSpecification: $ref: '#/components/schemas/PartyRoleSpecificationRef_MVO' characteristic: type: array items: $ref: '#/components/schemas/Characteristic_MVO' description: Describes the characteristic of a party role. account: type: array items: $ref: '#/components/schemas/AccountRef_MVO' agreement: type: array items: $ref: '#/components/schemas/AgreementRef_MVO' contactMedium: type: array items: $ref: '#/components/schemas/ContactMedium_MVO' paymentMethod: type: array items: $ref: '#/components/schemas/PaymentMethodRef_MVO' creditProfile: type: array items: $ref: '#/components/schemas/CreditProfile_MVO' relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyOrPartyRole_MVO' status: type: string description: Used to track the lifecycle status of the party role. statusReason: type: string description: A string providing an explanation on the value of the status lifecycle. For instance if the status is Rejected, statusReason will provide the reason for rejection. validFor: $ref: '#/components/schemas/TimePeriod' required: - name - engagedParty discriminator: propertyName: '@type' mapping: PartyRole: '#/components/schemas/PartyRole_MVO' Supplier: '#/components/schemas/Supplier_MVO' Producer: '#/components/schemas/Producer_MVO' Consumer: '#/components/schemas/Consumer_MVO' BusinessPartner: '#/components/schemas/BusinessPartner_MVO' Characteristic: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Describes a given characteristic of an object or entity through a name/value pair. properties: id: type: string description: Unique identifier of the characteristic name: type: string description: Name of the characteristic valueType: type: string description: Data type of the value of the characteristic characteristicRelationship: type: array items: $ref: '#/components/schemas/CharacteristicRelationship' discriminator: propertyName: '@type' mapping: Characteristic: '#/components/schemas/Characteristic' StringCharacteristic: '#/components/schemas/StringCharacteristic' StringArrayCharacteristic: '#/components/schemas/StringArrayCharacteristic' ObjectCharacteristic: '#/components/schemas/ObjectCharacteristic' ObjectArrayCharacteristic: '#/components/schemas/ObjectArrayCharacteristic' NumberCharacteristic: '#/components/schemas/NumberCharacteristic' NumberArrayCharacteristic: '#/components/schemas/NumberArrayCharacteristic' IntegerCharacteristic: '#/components/schemas/IntegerCharacteristic' IntegerArrayCharacteristic: '#/components/schemas/IntegerArrayCharacteristic' FloatCharacteristic: '#/components/schemas/FloatCharacteristic' BooleanCharacteristic: '#/components/schemas/BooleanCharacteristic' PartyRoleSpecificationRef_MVO: 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_MVO' ExternalIdentifier: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: An identification of an entity that is owned by or originates in a software system different from the current system, for example a ProductOrder handed off from a commerce platform into an order handling system. The structure identifies the system itself, the nature of the entity within the system (e.g. class name) and the unique ID of the entity within the system. It is anticipated that multiple external IDs can be held for a single entity, e.g. if the entity passed through multiple systems on the way to the current system. In this case the consumer is expected to sequence the IDs in the array in reverse order of provenance, i.e. most recent system first in the list. properties: owner: type: string description: Name of the external system that owns the entity. example: MagentoCommerce externalIdentifierType: type: string description: Type of the identification, typically would be the type of the entity within the external system example: ProductOrder id: type: string description: identification of the entity within the external system. discriminator: propertyName: '@type' mapping: ExternalIdentifier: '#/components/schemas/ExternalIdentifier' PartyRoleSpecificationRef_FVO: 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_FVO' discriminator: propertyName: '@type' mapping: PartyRoleSpecificationRef: '#/components/schemas/PartyRoleSpecificationRef_FVO' Addressable: type: object description: Base schema for adressable entities properties: href: type: string description: Hyperlink reference id: type: string description: unique identifier PartyRole: allOf: - $ref: '#/components/schemas/Entity' - 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: type: string description: A description of the PartyRole. role: type: string description: Role played by the engagedParty in this context. As role is defined by partyRoleSpecification, this role attribute can be used to precise the role defined by partyRoleSpecification, or it can be used to define the role in case there is no partyRoleSpecification. engagedParty: $ref: '#/components/schemas/PartyRef' partyRoleSpecification: $ref: '#/components/schemas/PartyRoleSpecificationRef' characteristic: type: array items: $ref: '#/components/schemas/Characteristic' description: Describes the characteristic of a party role. account: type: array items: $ref: '#/components/schemas/AccountRef' agreement: type: array items: $ref: '#/components/schemas/AgreementRef' contactMedium: type: array items: $ref: '#/components/schemas/ContactMedium' paymentMethod: type: array items: $ref: '#/components/schemas/PaymentMethodRef' creditProfile: type: array items: $ref: '#/components/schemas/CreditProfile' relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyOrPartyRole' status: type: string description: Used to track the lifecycle status of the party role. statusReason: type: string description: A string providing an explanation on the value of the status lifecycle. For instance if the status is Rejected, statusReason will provide the reason for rejection. validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: PartyRole: '#/components/schemas/PartyRole' Supplier: '#/components/schemas/Supplier' Producer: '#/components/schemas/Producer' Consumer: '#/components/schemas/Consumer' BusinessPartner: '#/components/schemas/BusinessPartner' PartyRef_FVO: type: object description: A Party reference allOf: - $ref: '#/components/schemas/EntityRef_FVO' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef_FVO' 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' 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' Skill: type: object description: 'Skills evaluated for an individual with a level and possibly with a limited validity when an obsolescence is defined (Ex: the first-aid certificate first level is limited to one year and an update training is required each year to keep the level).' properties: skillCode: type: string description: Code of the skill skillName: type: string description: Name of the skill, such as Java language evaluatedLevel: type: string description: Level of expertise in a skill evaluated for an individual comment: type: string description: A free text comment linked to the evaluation done validFor: $ref: '#/components/schemas/TimePeriod' 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' Addressable_FVO: type: object description: Base schema for adressable entities properties: id: type: string description: unique identifier BusinessPartner: type: object description: 'When business partner is the BusinessPartner ' allOf: - $ref: '#/components/schemas/PartyRole' 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' Supplier: type: object description: 'When business partner is the Supplier ' allOf: - $ref: '#/components/schemas/PartyRole' PartyOrPartyRole: type: object description: '' oneOf: - $ref: '#/components/schemas/PartyRef' - $ref: '#/components/schemas/PartyRoleRef' - $ref: '#/components/schemas/Individual' - $ref: '#/components/schemas/Organization' - $ref: '#/components/schemas/PartyRole' - $ref: '#/components/schemas/Supplier' - $ref: '#/components/schemas/BusinessPartner' - $ref: '#/components/schemas/Consumer' - $ref: '#/components/schemas/Producer' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef' PartyRoleRef: '#/components/schemas/PartyRoleRef' Individual: '#/components/schemas/Individual' Organization: '#/components/schemas/Organization' PartyRole: '#/components/schemas/PartyRole' Supplier: '#/components/schemas/Supplier' BusinessPartner: '#/components/schemas/BusinessPartner' Consumer: '#/components/schemas/Consumer' Producer: '#/components/schemas/Producer' 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' EntityRef: allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/Addressable' - type: object description: Entity reference schema to be use for all entityRef class. properties: id: type: string description: The identifier of the referred entity. href: type: string description: The URI of the referred entity. name: type: string description: Name of the referred entity. '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id ExternalIdentifier_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: An identification of an entity that is owned by or originates in a software system different from the current system, for example a ProductOrder handed off from a commerce platform into an order handling system. The structure identifies the system itself, the nature of the entity within the system (e.g. class name) and the unique ID of the entity within the system. It is anticipated that multiple external IDs can be held for a single entity, e.g. if the entity passed through multiple systems on the way to the current system. In this case the consumer is expected to sequence the IDs in the array in reverse order of provenance, i.e. most recent system first in the list. properties: owner: type: string description: Name of the external system that owns the entity. example: MagentoCommerce externalIdentifierType: type: string description: Type of the identification, typically would be the type of the entity within the external system example: ProductOrder id: type: string description: identification of the entity within the external system. required: - id discriminator: propertyName: '@type' mapping: ExternalIdentifier: '#/components/schemas/ExternalIdentifier_FVO' Consumer: type: object allOf: - $ref: '#/components/schemas/PartyRole' 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' 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' requestBodies: Individual_MVO: description: The Individual to be patched content: application/json: schema: $ref: '#/components/schemas/Individual_MVO' examples: Individual_update_example_Implicit_Merge: $ref: '#/components/examples/Individual_update_example_Implicit_Merge_request' application/merge-patch+json: schema: $ref: '#/components/schemas/Individual_MVO' examples: Individual_update_example_Patch_Merge: $ref: '#/components/examples/Individual_update_example_Patch_Merge_request' application/json-patch+json: schema: $ref: '#/components/schemas/JsonPatchOperations' examples: Individual_update_example_JSON_Patch: $ref: '#/components/examples/Individual_update_example_JSON_Patch_request' application/json-patch-query+json: schema: $ref: '#/components/schemas/JsonPatchOperations' examples: Individual_update_example_JSON_Patch_Query: $ref: '#/components/examples/Individual_update_example_JSON_Patch_Query_request' required: true Individual_FVO: description: The Individual to be created content: application/json: schema: $ref: '#/components/schemas/Individual_FVO' examples: Individual_create_example: $ref: '#/components/examples/Individual_create_example_request' required: true parameters: Offset: name: offset in: query description: Requested index for start of resources to be provided in response schema: type: integer Limit: name: limit in: query description: Requested number of resources to be provided in response schema: type: integer Id: name: id required: true schema: type: string in: path description: Identifier of the Resource Fields: name: fields in: query description: Comma-separated properties to be provided in response schema: type: string examples: Individual_update_example_Implicit_Merge_response: value: id: '42' href: https://serverRoot/tmf-api/party/v5/individual/42 '@type': Individual '@baseType': Party gender: female countryOfBirth: United States nationality: American maritalStatus: divorced birthDate: '1967-09-26T05:00:00.246Z' givenName: Jane preferredGivenName: Lamborgizzia familyName: Lamborgizzia legalName: Smith middleName: JL fullName: Jane Smith ep Lamborgizzia formattedName: Jane Smith ep Lamborgizzia status: validated externalReference: - name: http://facebook.com/17263635 externalIdentifierType: facebookId '@type': ExternalIdentifier - name: http://google.com/17263635 externalIdentifierType: googleId '@type': ExternalIdentifier partyCharacteristic: - name: hobby value: - Modern Jazz - Cinema valueType: array '@type': StringArrayCharacteristic - name: childrenNumber value: 1 valueType: number '@type': IntegerCharacteristic otherName: - '@type': OtherNameIndividual givenName: Jane familyName: Smith validFor: startDateTime: '1967-09-26T00:00:00.246Z' endDateTime: '2015-06-15T00:00:00.246Z' individualIdentification: - '@type': IndividualIdentification identificationType: passport identificationId: 51DD1234 issuingAuthority: US Government issuingDate: '2017-10-22T07:49:25.246Z' validFor: startDateTime: '2017-10-22T07:49:25.246Z' endDateTime: '2027-10-21T07:49:25.246Z' attachment: '@type': Attachment attachmentType: passportCopy name: PassportCopy321.pdf description: Scanned copy of the passport mimeType: application/pdf url: http://DocumentManager/321/PassportCopy321.pdf taxExemptionCertificate: - '@type': TaxExemptionCertificate id: '1' validFor: startDateTime: '2018-10-22T07:49:25.246Z' certificateNumber: '98765432345' issuingJurisdiction: USA taxDefinition: - '@type': TaxDefinitionRef id: '96' name: Value Added Tax taxType: federalVat attachment: '@type': Attachment attachmentType: taxExemptionCertificate name: TaxExemptionCertificate-566655.pdf description: Electronic version of the tax exemption certificate mimeType: application/pdf url: https://mycsp.com:8080/DocumentManager/666/TaxExemptionCertificate-566655.pdf creditRating: - '@type': CreditRating creditAgencyName: Experian creditAgencyType: externalAgency ratingReference: ref123 ratingScore: 680 validFor: startDateTime: '2018-10-22T07:49:25.246Z' relatedParty: - role: employer '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '128' href: https://serverRoot/tmf-api/party/v5/organization/128 name: Coffee Do Brazil Fair Trade Marketing Department '@type': PartyRef '@referredType': Organization contactMedium: - preferred: true mediumType: email validFor: startDateTime: '2017-03-15T07:49:25.246Z' '@type': EmailContactMedium emailAddress: jane.lamborgizzia@gmail.com - preferred: false mediumType: postalAddress validFor: startDateTime: '2017-03-15T07:49:25.246Z' '@type': GeographicAddressContactMedium city: Morristown country: USA postCode: 07960 stateOrProvince: New Jersey street1: 240 Headquarters Plazza street2: East Tower - 10th Floor disability: - disabilityCode: BLD disabilityName: Blind validFor: startDateTime: '1967-09-26T07:49:25.246Z' languageAbility: - languageCode: FR languageName: French isFavouriteLanguage: true writingProficiency: advanced readingProficiency: advanced speakingProficiency: intermediate listeningProficiency: intermediate validFor: startDateTime: '2018-10-22T07:49:25.246Z' - languageCode: SP languageName: Spanish isFavouriteLanguage: false writingProficiency: scholar readingProficiency: scholar speakingProficiency: scholar listeningProficiency: scholar validFor: startDateTime: '2018-10-22T07:49:25.246Z' skill: - skillCode: SK001 skillName: marketing evaluatedLevel: Advanced comment: Ten years experience validFor: startDateTime: '2018-10-22T07:49:25.246Z' - skillCode: SK002 skillName: Project Management evaluatedLevel: newbie comment: First work experience validFor: startDateTime: '2018-10-22T07:49:25.246Z' description: Here is an example of a response for updating an Individual. Individual_update_example_JSON_Patch_response: value: id: '42' href: https://serverRoot/tmf-api/party/v5/individual/42 '@type': Individual '@baseType': Party gender: female countryOfBirth: United States nationality: American maritalStatus: married birthDate: '1967-09-26T05:00:00.246Z' givenName: Jane preferredGivenName: Lamborgizzia familyName: Lamborgizzia legalName: Smith middleName: JL fullName: Jane Smith ep Lamborgizzia formattedName: Jane Smith ep Lamborgizzia status: validated externalReference: - name: http://facebook.com/17263635 externalIdentifierType: facebookId '@type': ExternalIdentifier - name: http://google.com/17263635 externalIdentifierType: googleId '@type': ExternalIdentifier partyCharacteristic: - name: hobby value: - Modern Jazz - Cinema valueType: array '@type': StringArrayCharacteristic - name: childrenNumber value: 1 valueType: number '@type': IntegerCharacteristic otherName: - '@type': OtherNameIndividual givenName: Jane familyName: Smith validFor: startDateTime: '1967-09-26T00:00:00.246Z' endDateTime: '2015-06-15T00:00:00.246Z' individualIdentification: - '@type': IndividualIdentification identificationType: passport identificationId: 51DD1234 issuingAuthority: US Government issuingDate: '2017-10-22T07:49:25.246Z' validFor: startDateTime: '2017-10-22T07:49:25.246Z' endDateTime: '2027-10-21T07:49:25.246Z' attachment: '@type': Attachment attachmentType: passportCopy name: PassportCopy321.pdf description: Scanned copy of the passport mimeType: application/pdf url: http://DocumentManager/321/PassportCopy321.pdf taxExemptionCertificate: - '@type': TaxExemptionCertificate id: '1' validFor: startDateTime: '2018-10-22T07:49:25.246Z' certificateNumber: '98765432345' issuingJurisdiction: USA taxDefinition: - '@type': TaxDefinitionRef id: '96' name: Value Added Tax taxType: federalVat attachment: '@type': Attachment attachmentType: taxExemptionCertificate name: TaxExemptionCertificate-566655.pdf description: Electronic version of the tax exemption certificate mimeType: application/pdf url: https://mycsp.com:8080/DocumentManager/666/TaxExemptionCertificate-566655.pdf creditRating: - '@type': CreditRating creditAgencyName: Experian creditAgencyType: externalAgency ratingReference: ref123 ratingScore: 680 validFor: startDateTime: '2018-10-22T07:49:25.246Z' relatedParty: - role: employer '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '128' href: https://serverRoot/tmf-api/party/v5/organization/128 name: Coffee Do Brazil Fair Trade Marketing Department '@type': PartyRef '@referredType': Organization contactMedium: - preferred: true mediumType: email validFor: startDateTime: '2017-03-15T07:49:25.246Z' '@type': EmailContactMedium emailAddress: jane.lamborgizzia@gmail.com - preferred: false mediumType: postalAddress validFor: startDateTime: '2017-03-15T07:49:25.246Z' '@type': GeographicAddressContactMedium city: Morristown country: USA postCode: 07960 stateOrProvince: New Jersey street1: 240 Headquarters Plazza street2: East Tower - 10th Floor disability: - disabilityCode: BLD disabilityName: Blind validFor: startDateTime: '1967-09-26T07:49:25.246Z' languageAbility: - languageCode: FR languageName: French isFavouriteLanguage: true writingProficiency: advanced readingProficiency: advanced speakingProficiency: intermediate listeningProficiency: intermediate validFor: startDateTime: '2018-10-22T07:49:25.246Z' - languageCode: SP languageName: Spanish isFavouriteLanguage: false writingProficiency: scholar readingProficiency: scholar speakingProficiency: scholar listeningProficiency: scholar validFor: startDateTime: '2018-10-22T07:49:25.246Z' skill: - skillCode: SK001 skillName: marketing evaluatedLevel: Advanced comment: Ten years experience validFor: startDateTime: '2018-10-22T07:49:25.246Z' - skillCode: SK002 skillName: Project Management evaluatedLevel: newbie comment: First work experience validFor: startDateTime: '2018-10-22T07:49:25.246Z' description: Here is an example of a response for updating an Individual. Individual_update_example_Patch_Merge_request: value: '@type': Individual maritalStatus: divorced description: Here is an example of a request for updating an Individual with patch merge Individual_update_example_JSON_Patch_Query_response: value: id: '42' href: https://serverRoot/tmf-api/party/v5/individual/42 '@type': Individual '@baseType': Party gender: female countryOfBirth: United States nationality: American maritalStatus: married birthDate: '1967-09-26T05:00:00.246Z' givenName: Jane preferredGivenName: Lamborgizzia familyName: Lamborgizzia legalName: Smith middleName: JL fullName: Jane Smith ep Lamborgizzia formattedName: Jane Smith ep Lamborgizzia status: validated externalReference: - name: http://facebook.com/17263635 externalIdentifierType: facebookId '@type': ExternalIdentifier - name: http://google.com/17263635 externalIdentifierType: googleId '@type': ExternalIdentifier partyCharacteristic: - name: hobby value: - Modern Jazz - Cinema valueType: array '@type': StringArrayCharacteristic - name: childrenNumber value: 2 valueType: number '@type': IntegerCharacteristic otherName: - '@type': OtherNameIndividual givenName: Jane familyName: Smith validFor: startDateTime: '1967-09-26T00:00:00.246Z' endDateTime: '2015-06-15T00:00:00.246Z' individualIdentification: - '@type': IndividualIdentification identificationType: passport identificationId: 51DD1234 issuingAuthority: US Government issuingDate: '2017-10-22T07:49:25.246Z' validFor: startDateTime: '2017-10-22T07:49:25.246Z' endDateTime: '2027-10-21T07:49:25.246Z' attachment: '@type': Attachment attachmentType: passportCopy name: PassportCopy321.pdf description: Scanned copy of the passport mimeType: application/pdf url: http://DocumentManager/321/PassportCopy321.pdf taxExemptionCertificate: - '@type': TaxExemptionCertificate id: '1' validFor: startDateTime: '2018-10-22T07:49:25.246Z' certificateNumber: '98765432345' issuingJurisdiction: USA taxDefinition: - '@type': TaxDefinitionRef id: '96' name: Value Added Tax taxType: federalVat attachment: '@type': Attachment attachmentType: taxExemptionCertificate name: TaxExemptionCertificate-566655.pdf description: Electronic version of the tax exemption certificate mimeType: application/pdf url: https://mycsp.com:8080/DocumentManager/666/TaxExemptionCertificate-566655.pdf creditRating: - '@type': CreditRating creditAgencyName: Experian creditAgencyType: externalAgency ratingReference: ref123 ratingScore: 680 validFor: startDateTime: '2018-10-22T07:49:25.246Z' relatedParty: - role: employer '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '128' href: https://serverRoot/tmf-api/party/v5/organization/128 name: Coffee Do Brazil Fair Trade Marketing Department '@type': PartyRef '@referredType': Organization contactMedium: - preferred: true mediumType: email validFor: startDateTime: '2017-03-15T07:49:25.246Z' '@type': EmailContactMedium emailAddress: jane.lamborgizzia@gmail.com - preferred: false mediumType: postalAddress validFor: startDateTime: '2017-03-15T07:49:25.246Z' '@type': GeographicAddressContactMedium city: Morristown country: USA postCode: 07960 stateOrProvince: New Jersey street1: 240 Headquarters Plazza street2: East Tower - 10th Floor disability: - disabilityCode: BLD disabilityName: Blind validFor: startDateTime: '1967-09-26T07:49:25.246Z' languageAbility: - languageCode: FR languageName: French isFavouriteLanguage: true writingProficiency: advanced readingProficiency: advanced speakingProficiency: intermediate listeningProficiency: intermediate validFor: startDateTime: '2018-10-22T07:49:25.246Z' - languageCode: SP languageName: Spanish isFavouriteLanguage: false writingProficiency: scholar readingProficiency: scholar speakingProficiency: scholar listeningProficiency: scholar validFor: startDateTime: '2018-10-22T07:49:25.246Z' skill: - skillCode: SK001 skillName: marketing evaluatedLevel: Advanced comment: Ten years experience validFor: startDateTime: '2018-10-22T07:49:25.246Z' - skillCode: SK002 skillName: Project Management evaluatedLevel: newbie comment: First work experience validFor: startDateTime: '2018-10-22T07:49:25.246Z' description: Here is an example of a response for updating an Individual. Individual_update_example_Implicit_Merge_request: value: '@type': Individual maritalStatus: divorced description: Here is an example of a request for updating an Individual with patch merge Individual_create_example_response: value: id: '42' href: https://serverRoot/tmf-api/party/v5/individual/42 '@type': Individual '@baseType': Party givenName: Jane familyName: Lamborgizzia status: initialized description: Here is an example of a response for creating an Individual. Individual_update_example_JSON_Patch_Query_request: value: - op: replace path: /partyCharacteristic/value?/partyCharacteristic/name=childrenNumber value: 2 description: Here is an example of a request for updating an Individual with JSON Patch Individual_list_example_response: value: - id: '42' href: https://serverRoot/tmf-api/party/v5/individual/42 '@type': Individual '@baseType': Party givenName: Jane familyName: Lamborgizzia - id: '52' href: https://serverRoot/tmf-api/party/v5/individual/52 '@type': Individual '@baseType': Party givenName: Paul familyName: Newman description: Here is an example of a response for retrieving multiple Individuals. Individual_retrieve_example_response: value: id: '42' href: https://serverRoot/tmf-api/party/v5/individual/42 '@type': Individual '@baseType': Party gender: female countryOfBirth: United States nationality: American maritalStatus: married birthDate: '1967-09-26T05:00:00.246Z' givenName: Jane preferredGivenName: Lamborgizzia familyName: Lamborgizzia legalName: Smith middleName: JL fullName: Jane Smith ep Lamborgizzia formattedName: Jane Smith ep Lamborgizzia status: validated externalReference: - name: http://facebook.com/17263635 externalIdentifierType: facebookId '@type': ExternalIdentifier - name: http://google.com/17263635 externalIdentifierType: googleId '@type': ExternalIdentifier partyCharacteristic: - name: hobby value: - Modern Jazz - Cinema valueType: array '@type': StringArrayCharacteristic otherName: - '@type': OtherNameIndividual givenName: Jane familyName: Smith validFor: startDateTime: '1967-09-26T00:00:00.246Z' endDateTime: '2015-06-15T00:00:00.246Z' individualIdentification: - '@type': IndividualIdentification identificationType: passport identificationId: 51DD1234 issuingAuthority: US Government issuingDate: '2017-10-22T07:49:25.246Z' validFor: startDateTime: '2017-10-22T07:49:25.246Z' endDateTime: '2027-10-21T07:49:25.246Z' attachment: '@type': Attachment id: '6662326757667' href: https://serverRoot/tmf-api/document/v5/attachment/6662326757667 attachmentType: passportCopy name: PassportCopy321.pdf description: Scanned copy of the passport mimeType: application/pdf url: http://DocumentManager/321/PassportCopy321.pdf taxExemptionCertificate: - '@type': TaxExemptionCertificate id: '1' validFor: startDateTime: '2018-10-22T07:49:25.246Z' certificateNumber: '98765432345' issuingJurisdiction: USA taxDefinition: - '@type': TaxDefinitionRef id: '96' name: Value Added Tax taxType: federalVat attachment: '@type': Attachment id: '5565734535' href: https://serverRoot/tmf-api/document/v5/attachment/5565734535 attachmentType: taxExemptionCertificate name: TaxExemptionCertificate-566655.pdf description: Electronic version of the tax exemption certificate mimeType: application/pdf url: https://mycsp.com:8080/DocumentManager/666/TaxExemptionCertificate-566655.pdf creditRating: - '@type': CreditRating creditAgencyName: Experian creditAgencyType: externalAgency ratingReference: ref123 ratingScore: 680 validFor: startDateTime: '2018-10-22T07:49:25.246Z' relatedParty: - role: employer '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '128' href: https://serverRoot/tmf-api/party/v5/organization/128 name: Coffee Do Brazil Fair Trade Marketing Department '@type': PartyRef '@referredType': Organization contactMedium: - preferred: true mediumType: email validFor: startDateTime: '2017-03-15T07:49:25.246Z' '@type': EmailContactMedium emailAddress: jane.lamborgizzia@gmail.com - preferred: false mediumType: postalAddress validFor: startDateTime: '2017-03-15T07:49:25.246Z' '@type': GeographicAddressContactMedium city: Morristown country: USA postCode: 07960 stateOrProvince: New Jersey street1: 240 Headquarters Plazza street2: East Tower - 10th Floor disability: - disabilityCode: BLD disabilityName: Blind validFor: startDateTime: '1967-09-26T07:49:25.246Z' languageAbility: - languageCode: FR languageName: French isFavouriteLanguage: true writingProficiency: advanced readingProficiency: advanced speakingProficiency: intermediate listeningProficiency: intermediate validFor: startDateTime: '2018-10-22T07:49:25.246Z' - languageCode: SP languageName: Spanish isFavouriteLanguage: false writingProficiency: scholar readingProficiency: scholar speakingProficiency: scholar listeningProficiency: scholar validFor: startDateTime: '2018-10-22T07:49:25.246Z' skill: - skillCode: SK001 skillName: marketing evaluatedLevel: Advanced comment: Ten years experience validFor: startDateTime: '2018-10-22T07:49:25.246Z' - skillCode: SK002 skillName: Project Management evaluatedLevel: newbie comment: First work experience validFor: startDateTime: '2018-10-22T07:49:25.246Z' description: Here is an example of a response for retrieving a specific Individual. Individual_update_example_Patch_Merge_response: value: id: '42' href: https://serverRoot/tmf-api/party/v5/individual/42 '@type': Individual '@baseType': Party gender: female countryOfBirth: United States nationality: American maritalStatus: divorced birthDate: '1967-09-26T05:00:00.246Z' givenName: Jane preferredGivenName: Lamborgizzia familyName: Lamborgizzia legalName: Smith middleName: JL fullName: Jane Smith ep Lamborgizzia formattedName: Jane Smith ep Lamborgizzia status: validated externalReference: - name: http://facebook.com/17263635 externalIdentifierType: facebookId '@type': ExternalIdentifier - name: http://google.com/17263635 externalIdentifierType: googleId '@type': ExternalIdentifier partyCharacteristic: - name: hobby value: - Modern Jazz - Cinema valueType: array '@type': StringArrayCharacteristic - name: childrenNumber value: 1 valueType: number '@type': IntegerCharacteristic otherName: - '@type': OtherNameIndividual givenName: Jane familyName: Smith validFor: startDateTime: '1967-09-26T00:00:00.246Z' endDateTime: '2015-06-15T00:00:00.246Z' individualIdentification: - '@type': IndividualIdentification identificationType: passport identificationId: 51DD1234 issuingAuthority: US Government issuingDate: '2017-10-22T07:49:25.246Z' validFor: startDateTime: '2017-10-22T07:49:25.246Z' endDateTime: '2027-10-21T07:49:25.246Z' attachment: '@type': Attachment attachmentType: passportCopy name: PassportCopy321.pdf description: Scanned copy of the passport mimeType: application/pdf url: http://DocumentManager/321/PassportCopy321.pdf taxExemptionCertificate: - '@type': TaxExemptionCertificate id: '1' validFor: startDateTime: '2018-10-22T07:49:25.246Z' certificateNumber: '98765432345' issuingJurisdiction: USA taxDefinition: - '@type': TaxDefinitionRef id: '96' name: Value Added Tax taxType: federalVat attachment: '@type': Attachment attachmentType: taxExemptionCertificate name: TaxExemptionCertificate-566655.pdf description: Electronic version of the tax exemption certificate mimeType: application/pdf url: https://mycsp.com:8080/DocumentManager/666/TaxExemptionCertificate-566655.pdf creditRating: - '@type': CreditRating creditAgencyName: Experian creditAgencyType: externalAgency ratingReference: ref123 ratingScore: 680 validFor: startDateTime: '2018-10-22T07:49:25.246Z' relatedParty: - role: employer '@type': RelatedPartyRefOrPartyRoleRef partyOrPartyRole: id: '128' href: https://serverRoot/tmf-api/party/v5/organization/128 name: Coffee Do Brazil Fair Trade Marketing Department '@type': PartyRef '@referredType': Organization contactMedium: - preferred: true mediumType: email validFor: startDateTime: '2017-03-15T07:49:25.246Z' '@type': EmailContactMedium emailAddress: jane.lamborgizzia@gmail.com - preferred: false mediumType: postalAddress validFor: startDateTime: '2017-03-15T07:49:25.246Z' '@type': GeographicAddressContactMedium city: Morristown country: USA postCode: 07960 stateOrProvince: New Jersey street1: 240 Headquarters Plazza street2: East Tower - 10th Floor disability: - disabilityCode: BLD disabilityName: Blind validFor: startDateTime: '1967-09-26T07:49:25.246Z' languageAbility: - languageCode: FR languageName: French isFavouriteLanguage: true writingProficiency: advanced readingProficiency: advanced speakingProficiency: intermediate listeningProficiency: intermediate validFor: startDateTime: '2018-10-22T07:49:25.246Z' - languageCode: SP languageName: Spanish isFavouriteLanguage: false writingProficiency: scholar readingProficiency: scholar speakingProficiency: scholar listeningProficiency: scholar validFor: startDateTime: '2018-10-22T07:49:25.246Z' skill: - skillCode: SK001 skillName: marketing evaluatedLevel: Advanced comment: Ten years experience validFor: startDateTime: '2018-10-22T07:49:25.246Z' - skillCode: SK002 skillName: Project Management evaluatedLevel: newbie comment: First work experience validFor: startDateTime: '2018-10-22T07:49:25.246Z' description: Here is an example of a response for updating an Individual. Individual_create_example_request: value: '@type': Individual '@baseType': Party givenName: Jane familyName: Lamborgizzia description: Here is an example of a request for creating an Individual. Individual_update_example_JSON_Patch_request: value: - op: add path: /individualIdentification/- value: '@type': IndividualIdentification identificationType: passport identificationId: 51DD1234 issuingAuthority: US Government issuingDate: '2017-10-22T07:49:25.246Z' validFor: startDateTime: '2017-10-22T07:49:25.246Z' endDateTime: '2027-10-21T07:49:25.246Z' attachment: '@type': Attachment attachmentType: passportCopy name: PassportCopy321.pdf description: Scanned copy of the passport mimeType: application/pdf url: http://DocumentManager/321/PassportCopy321.pdf description: Here is an example of a request for updating an Individual with JSON Patch headers: X-Result-Count: description: Actual number of items returned in the response body schema: type: integer X-Total-Count: description: Total number of items matching criteria schema: type: integer responses: '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' 201Individual: description: OK/Created content: application/json: schema: $ref: '#/components/schemas/Individual' examples: Individual_create_example: $ref: '#/components/examples/Individual_create_example_response' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/Error' 200IndividualArray: description: Success headers: X-Total-Count: $ref: '#/components/headers/X-Total-Count' X-Result-Count: $ref: '#/components/headers/X-Result-Count' content: application/json: schema: type: array items: $ref: '#/components/schemas/Individual' examples: Individual_list_example: $ref: '#/components/examples/Individual_list_example_response' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '202': description: Accepted 200Individual_Patch: description: Success content: application/json: schema: $ref: '#/components/schemas/Individual' examples: Individual_update_example_Implicit_Merge: $ref: '#/components/examples/Individual_update_example_Implicit_Merge_response' application/merge-patch+json: schema: $ref: '#/components/schemas/Individual' examples: Individual_update_example_Patch_Merge: $ref: '#/components/examples/Individual_update_example_Patch_Merge_response' application/json-patch+json: schema: oneOf: - $ref: '#/components/schemas/Individual' - type: array items: $ref: '#/components/schemas/Individual' - type: string nullable: true examples: Individual_update_example_JSON_Patch: $ref: '#/components/examples/Individual_update_example_JSON_Patch_response' application/json-patch-query+json: schema: oneOf: - $ref: '#/components/schemas/Individual' - type: array items: $ref: '#/components/schemas/Individual' - type: string nullable: true examples: Individual_update_example_JSON_Patch_Query: $ref: '#/components/examples/Individual_update_example_JSON_Patch_Query_response' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '204': description: Deleted '405': description: Method Not allowed content: application/json: schema: $ref: '#/components/schemas/Error' 200Individual_Get: description: Success content: application/json: schema: $ref: '#/components/schemas/Individual' examples: Individual_retrieve_example: $ref: '#/components/examples/Individual_retrieve_example_response'