TM Forum billingCycleSpecification API

The billingCycleSpecification API from TM Forum — 2 operation(s) for billingcyclespecification.

OpenAPI Specification

tm-forum-billingcyclespecification-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Product Catalog Management agreement billingCycleSpecification 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: billingCycleSpecification
paths:
  /billingCycleSpecification:
    get:
      operationId: listBillingCycleSpecification
      summary: List or find BillingCycleSpecification objects
      description: This operation list or find BillingCycleSpecification entities
      tags:
      - billingCycleSpecification
      parameters:
      - name: fields
        description: Comma-separated properties to be provided in response
        required: false
        in: query
        type: string
      - name: offset
        description: Requested index for start of resources to be provided in response
        required: false
        in: query
        type: integer
      - name: limit
        description: Requested number of resources to be provided in response
        required: false
        in: query
        type: integer
      responses:
        '200':
          description: Success
          headers:
            X-Result-Count:
              description: Actual number of items returned in the response body
              type: integer
            X-Total-Count:
              description: Total number of items matching criteria
              type: integer
          schema:
            type: array
            items:
              $ref: '#/definitions/BillingCycleSpecification'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
    post:
      operationId: createBillingCycleSpecification
      summary: Creates a BillingCycleSpecification
      description: This operation creates a BillingCycleSpecification entity.
      tags:
      - billingCycleSpecification
      parameters:
      - name: billingCycleSpecification
        description: The BillingCycleSpecification to be created
        required: true
        schema:
          $ref: '#/definitions/BillingCycleSpecification_Create'
        in: body
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/BillingCycleSpecification'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
  /billingCycleSpecification/{id}:
    get:
      operationId: retrieveBillingCycleSpecification
      summary: Retrieves a BillingCycleSpecification by ID
      description: This operation retrieves a BillingCycleSpecification entity. Attribute selection is enabled for all first level attributes.
      tags:
      - billingCycleSpecification
      parameters:
      - name: id
        description: Identifier of the BillingCycleSpecification
        required: true
        type: string
        in: path
      - name: fields
        description: Comma-separated properties to provide in response
        required: false
        type: string
        in: query
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/BillingCycleSpecification'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
    patch:
      operationId: patchBillingCycleSpecification
      summary: Updates partially a BillingCycleSpecification
      description: This operation updates partially a BillingCycleSpecification entity.
      tags:
      - billingCycleSpecification
      parameters:
      - name: id
        description: Identifier of the BillingCycleSpecification
        required: true
        type: string
        in: path
      - name: billingCycleSpecification
        description: The BillingCycleSpecification to be updated
        required: true
        schema:
          $ref: '#/definitions/BillingCycleSpecification_Update'
        in: body
      responses:
        '200':
          description: Updated
          schema:
            $ref: '#/definitions/BillingCycleSpecification'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
    delete:
      operationId: deleteBillingCycleSpecification
      summary: Deletes a BillingCycleSpecification
      description: This operation deletes a BillingCycleSpecification entity.
      tags:
      - billingCycleSpecification
      parameters:
      - name: id
        description: Identifier of the BillingCycleSpecification
        required: true
        type: string
        in: path
      responses:
        '204':
          description: Deleted
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
definitions:
  BillingCycleSpecification_Update:
    type: object
    description: 'A detailed description of when to initiate a billing cycle and the various sub steps of a billing cycle.

      Skipped properties: id,href'
    required:
    - name
    properties:
      billingDateShift:
        type: integer
        description: An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period.
      billingPeriod:
        type: string
        description: 'A billing time period. It can be recurring, for example: week, month, quarter of year, year .'
      chargeDateOffset:
        type: integer
        description: An offset of a date through which charges previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod.
      creditDateOffset:
        type: integer
        description: An offset of a date through which credits previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod.
      description:
        type: string
        description: An explanation regarding this billing cycle specification
      frequency:
        type: string
        description: Frequency of the billing cycle (monthly for instance)
      mailingDateOffset:
        type: integer
        description: An offset of a customer bill mailing date. The offset is expressed as number of days with regard to the start of the BillingPeriod.
      name:
        type: string
        description: A short descriptive name
      paymentDueDateOffset:
        type: integer
        description: An offset of a payment due date. The offset is expressed as number of days with regard to the start of the BillingPeriod.
      validFor:
        $ref: '#/definitions/TimePeriod'
        description: The period for which the billing specification cycle is valid
      '@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.
  BillingCycleSpecification:
    type: object
    description: A detailed description of when to initiate a billing cycle and the various sub steps of a billing cycle.
    required:
    - name
    properties:
      id:
        type: string
        description: Unique identifier of the billing cycle specification
      href:
        type: string
        description: Reference of the billing cycle specification
      billingDateShift:
        type: integer
        description: An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period.
      billingPeriod:
        type: string
        description: 'A billing time period. It can be recurring, for example: week, month, quarter of year, year .'
      chargeDateOffset:
        type: integer
        description: An offset of a date through which charges previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod.
      creditDateOffset:
        type: integer
        description: An offset of a date through which credits previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod.
      description:
        type: string
        description: An explanation regarding this billing cycle specification
      frequency:
        type: string
        description: Frequency of the billing cycle (monthly for instance)
      mailingDateOffset:
        type: integer
        description: An offset of a customer bill mailing date. The offset is expressed as number of days with regard to the start of the BillingPeriod.
      name:
        type: string
        description: A short descriptive name
      paymentDueDateOffset:
        type: integer
        description: An offset of a payment due date. The offset is expressed as number of days with regard to the start of the BillingPeriod.
      validFor:
        $ref: '#/definitions/TimePeriod'
        description: The period for which the billing specification cycle is valid
      '@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
  TimePeriod:
    type: object
    description: A period of time, either as a deadline (endDateTime only) a startDateTime only, or both
    properties:
      endDateTime:
        type: string
        format: date-time
        description: End of the time period, using IETC-RFC-3339 format
      startDateTime:
        type: string
        format: date-time
        description: Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end
  BillingCycleSpecification_Create:
    type: object
    description: 'A detailed description of when to initiate a billing cycle and the various sub steps of a billing cycle.

      Skipped properties: id,href'
    required:
    - name
    properties:
      billingDateShift:
        type: integer
        description: An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period.
      billingPeriod:
        type: string
        description: 'A billing time period. It can be recurring, for example: week, month, quarter of year, year .'
      chargeDateOffset:
        type: integer
        description: An offset of a date through which charges previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod.
      creditDateOffset:
        type: integer
        description: An offset of a date through which credits previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod.
      description:
        type: string
        description: An explanation regarding this billing cycle specification
      frequency:
        type: string
        description: Frequency of the billing cycle (monthly for instance)
      mailingDateOffset:
        type: integer
        description: An offset of a customer bill mailing date. The offset is expressed as number of days with regard to the start of the BillingPeriod.
      name:
        type: string
        description: A short descriptive name
      paymentDueDateOffset:
        type: integer
        description: An offset of a payment due date. The offset is expressed as number of days with regard to the start of the BillingPeriod.
      validFor:
        $ref: '#/definitions/TimePeriod'
        description: The period for which the billing specification cycle is valid
      '@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