openapi: 3.2.0 info: title: CustomerBill Customer Bill On Demand API description: "## TMF API Reference: TMF 678 - Customer bill Management\n\n### Release: 19.5 - December 2019\n\nThe Customer Bill Management API allows to find and retrieve one or several customer bills (also called invoices) produced for a customer. A customer bill is an electronic or paper document produced at the end of the billing process. The customer bill gathers and displays different items (applied customer billing rates generated during the rating and billing processes) to be charged to a customer. It represents a total amount due for all the products during the billing period and all significant information like dates, bill reference...\nThis API provides also operations to find and retrieve the details of applied customer billing rates presented on a customer bill. \nFinally, this API allows to request in real-time a customer bill creation and to manage this request.\n\n### Resources \n- customerBill\n- appliedCustomerBillingRate\n- customerBillOnDemand\n- billingCycle\n\n### Operations\nCustomer Bill Management API performs the following operations :\n- Retrieve a customer bill or a collection of customer bills depending on filter criteria.\n- Partial update of a customer bill (for administration purposes).\n- Retrieve an applied customer billing rate or a collection of applied customer billing rates depending on filter criteria.\n- Create a customer bill on demand request, retrieve one or a collection of customer bill on demand request(s) depending on filter criteria.\n\n- Manage notification of events on customer bill and customer bill on demand.\n\nCopyright © TM Forum 2018. All Rights Reserved." version: 4.0.0 servers: - url: https://serverRoot/tmf-api/customerBillManagement/v4/ tags: - name: customerBillOnDemand paths: /customerBillOnDemand: get: operationId: listCustomerBillOnDemand summary: List or find CustomerBillOnDemand objects description: This operation list or find CustomerBillOnDemand entities tags: - customerBillOnDemand parameters: - name: fields description: Comma-separated properties to be provided in response required: false in: query schema: type: string - name: offset description: Requested index for start of resources to be provided in response required: false in: query schema: type: integer - name: limit description: Requested number of resources to be provided in response required: false in: query schema: type: integer responses: '200': description: Success 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 content: application/json;charset=utf-8: schema: type: array items: $ref: '#/components/schemas/CustomerBillOnDemand' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '405': description: Method Not allowed content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' post: operationId: createCustomerBillOnDemand summary: Creates a CustomerBillOnDemand description: This operation creates a CustomerBillOnDemand entity. tags: - customerBillOnDemand responses: '201': description: Created content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/CustomerBillOnDemand' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '405': description: Method Not allowed content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' requestBody: content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/CustomerBillOnDemand_Create' description: The CustomerBillOnDemand to be created required: true /customerBillOnDemand/{id}: get: operationId: retrieveCustomerBillOnDemand summary: Retrieves a CustomerBillOnDemand by ID description: This operation retrieves a CustomerBillOnDemand entity. Attribute selection is enabled for all first level attributes. tags: - customerBillOnDemand parameters: - name: id description: Identifier of the CustomerBillOnDemand required: true in: path schema: type: string - name: fields description: Comma-separated properties to provide in response required: false in: query schema: type: string responses: '200': description: Success content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/CustomerBillOnDemand' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '405': description: Method Not allowed content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error' components: schemas: CustomerBillOnDemand_Create: type: object description: 'This resource is used to manage the creation request of a customer bill in real-time (on demand). Skipped properties: id,href' properties: description: type: string description: Additional data describing the customer bill on demand request lastUpdate: type: string description: The last date time when the customer bill on demand has been updated name: type: string description: Friendly name to identify the customer bill on demand request billingAccount: $ref: '#/components/schemas/BillingAccountRef' customerBill: $ref: '#/components/schemas/BillRef' relatedParty: $ref: '#/components/schemas/RelatedPartyRef' state: $ref: '#/components/schemas/StateValues' '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name BillingAccountRef: type: object description: Reference to the billing account in case of not billed item. properties: id: type: string description: Unique-Identifier for this <123> href: type: string description: URL serving as reference for the resource name: type: string description: Name of the Billingaccount '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id StateValues: type: string description: '' enum: - inProgress - rejected - done - terminatedWithError RelatedPartyRef: type: object description: RelatedParty reference. A related party defines party or party role linked to a specific entity. properties: id: type: string description: Unique identifier of a related party href: type: string description: Reference of the related party, could be a party reference or a party role reference name: type: string description: Name of the related party role: type: string description: Role of the related party. '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id CustomerBillOnDemand: type: object description: This resource is used to manage the creation request of a customer bill in real-time (on demand). properties: id: type: string description: Unique identifier of the customer bill on demand request given by the server href: type: string description: Reference of the customer bill on demand request description: type: string description: Additional data describing the customer bill on demand request lastUpdate: type: string description: The last date time when the customer bill on demand has been updated name: type: string description: Friendly name to identify the customer bill on demand request billingAccount: $ref: '#/components/schemas/BillingAccountRef' customerBill: $ref: '#/components/schemas/BillRef' relatedParty: $ref: '#/components/schemas/RelatedPartyRef' state: $ref: '#/components/schemas/StateValues' '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name Error: description: Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx) 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 format: uri description: URI of documentation describing the error. '@baseType': type: string description: When sub-classing, this defines the super-class. '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name. BillRef: type: object description: Bill reference. properties: id: type: string description: Unique-Identifier for this <123> href: type: string description: URL serving as reference for the resource '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id