openapi: 3.2.0 info: title: Billing Management Product Configurations API version: 1.0.0 description: The Product Billing Configuration Controller servers: - url: https://rls.congacloud.com/api/billing/v1 security: - Bearer: [] tags: - name: Product Configurations description: The Product Billing Configuration Controller paths: /product-configurations: get: tags: - Product Configurations summary: List product billing configuration records description: Retrieves the collection of product billing configuration records. parameters: - name: filter in: query description: Optional filter parameters schema: type: array items: type: string - name: sort in: query description: Optional sort parameter schema: type: string - name: page in: query description: Page number schema: type: integer format: int32 default: 1 - name: limit in: query description: Number of items per page schema: type: integer format: int32 default: 50 - name: includes in: query description: Optional related entities to include schema: type: array items: type: string - name: fields in: query description: Optional name of the fields to include schema: type: array items: type: string - name: filterExpression in: query description: Optional filter expression schema: type: string responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/ProductBillingConfiguration' example: - Product: Id: product-001 Name: ProductName-001-Updated InvoiceLevelForBundle: - Components CreateBillingForInformationalProducts: 'No' Id: pbc-12345-abcde-67890 Name: Updated Product Billing Configuration CreatedBy: null CreatedDate: '0001-01-01T00:00:00' ModifiedBy: null ModifiedDate: '0001-01-01T00:00:00' ExternalId: null ETag: null application/json: schema: type: array items: $ref: '#/components/schemas/ProductBillingConfiguration' example: - Product: Id: product-001 Name: ProductName-001-Updated InvoiceLevelForBundle: - Components CreateBillingForInformationalProducts: 'No' Id: pbc-12345-abcde-67890 Name: Updated Product Billing Configuration CreatedBy: null CreatedDate: '0001-01-01T00:00:00' ModifiedBy: null ModifiedDate: '0001-01-01T00:00:00' ExternalId: null ETag: null text/json: schema: type: array items: $ref: '#/components/schemas/ProductBillingConfiguration' example: - Product: Id: product-001 Name: ProductName-001-Updated InvoiceLevelForBundle: - Components CreateBillingForInformationalProducts: 'No' Id: pbc-12345-abcde-67890 Name: Updated Product Billing Configuration CreatedBy: null CreatedDate: '0001-01-01T00:00:00' ModifiedBy: null ModifiedDate: '0001-01-01T00:00:00' ExternalId: null ETag: null '204': description: No Content '500': description: Internal Server Error content: text/plain: schema: $ref: '#/components/schemas/ErrorApiResponse' application/json: schema: $ref: '#/components/schemas/ErrorApiResponse' text/json: schema: $ref: '#/components/schemas/ErrorApiResponse' patch: tags: - Product Configurations summary: Update product billing configurations description: Updates multiple product billing configurations and returns the updated records with their IDs. requestBody: description: The list of product billing configurations with updated data content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductBillingConfiguration' example: "[\n {\n \"Product\": {\n \"Id\": \"product-001\",\n \"Name\": \"ProductName-001-Updated\"\n },\n \"InvoiceLevelForBundle\": [\n \"Components\"\n ],\n \"CreateBillingForInformationalProducts\": \"No\",\n \"Id\": \"pbc-12345-abcde-67890\",\n \"Name\": \"Updated Product Billing Configuration\"\n }\n]" text/json: schema: type: array items: $ref: '#/components/schemas/ProductBillingConfiguration' example: "[\n {\n \"Product\": {\n \"Id\": \"product-001\",\n \"Name\": \"ProductName-001-Updated\"\n },\n \"InvoiceLevelForBundle\": [\n \"Components\"\n ],\n \"CreateBillingForInformationalProducts\": \"No\",\n \"Id\": \"pbc-12345-abcde-67890\",\n \"Name\": \"Updated Product Billing Configuration\"\n }\n]" application/*+json: schema: type: array items: $ref: '#/components/schemas/ProductBillingConfiguration' example: "[\n {\n \"Product\": {\n \"Id\": \"product-001\",\n \"Name\": \"ProductName-001-Updated\"\n },\n \"InvoiceLevelForBundle\": [\n \"Components\"\n ],\n \"CreateBillingForInformationalProducts\": \"No\",\n \"Id\": \"pbc-12345-abcde-67890\",\n \"Name\": \"Updated Product Billing Configuration\"\n }\n]" responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' application/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' text/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' '207': description: Multi-Status content: text/plain: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' application/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' text/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' '400': description: Bad Request content: text/plain: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' application/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' text/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' '500': description: Internal Server Error content: text/plain: schema: $ref: '#/components/schemas/ErrorApiResponse' application/json: schema: $ref: '#/components/schemas/ErrorApiResponse' text/json: schema: $ref: '#/components/schemas/ErrorApiResponse' post: tags: - Product Configurations summary: Create multiple product configuration records description: The Product Configuration records will contain the Billing configuration property which needs to be linked with the Product record. requestBody: description: The list of product billing configurations to create content: application/json: schema: type: array items: $ref: '#/components/schemas/ProductBillingConfiguration' example: "[\n {\n \"Product\": {\n \"Name\": \"ProductName-001\"\n },\n \"InvoiceLevelForBundle\": [\n \"Top Bundle\"\n ],\n \"CreateBillingForInformationalProducts\": \"Yes\",\n \"Name\": \"Standard Product Billing Configuration\"\n },\n {\n \"Product\": {\n \"Name\": \"ProductName-002\"\n },\n \"InvoiceLevelForBundle\": [\n \"Top Bundle\"\n ],\n \"CreateBillingForInformationalProducts\": \"No\",\n \"Name\": \"Basic Product Billing Configuration\"\n }\n]" text/json: schema: type: array items: $ref: '#/components/schemas/ProductBillingConfiguration' example: "[\n {\n \"Product\": {\n \"Name\": \"ProductName-001\"\n },\n \"InvoiceLevelForBundle\": [\n \"Top Bundle\"\n ],\n \"CreateBillingForInformationalProducts\": \"Yes\",\n \"Name\": \"Standard Product Billing Configuration\"\n },\n {\n \"Product\": {\n \"Name\": \"ProductName-002\"\n },\n \"InvoiceLevelForBundle\": [\n \"Top Bundle\"\n ],\n \"CreateBillingForInformationalProducts\": \"No\",\n \"Name\": \"Basic Product Billing Configuration\"\n }\n]" application/*+json: schema: type: array items: $ref: '#/components/schemas/ProductBillingConfiguration' example: "[\n {\n \"Product\": {\n \"Name\": \"ProductName-001\"\n },\n \"InvoiceLevelForBundle\": [\n \"Top Bundle\"\n ],\n \"CreateBillingForInformationalProducts\": \"Yes\",\n \"Name\": \"Standard Product Billing Configuration\"\n },\n {\n \"Product\": {\n \"Name\": \"ProductName-002\"\n },\n \"InvoiceLevelForBundle\": [\n \"Top Bundle\"\n ],\n \"CreateBillingForInformationalProducts\": \"No\",\n \"Name\": \"Basic Product Billing Configuration\"\n }\n]" responses: '201': description: Created content: text/plain: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' application/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' text/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' '207': description: Multi-Status content: text/plain: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' application/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' text/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' '400': description: Bad Request content: text/plain: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' application/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' text/json: schema: $ref: '#/components/schemas/BaseResponseBatchResponse' '500': description: Internal Server Error content: text/plain: schema: $ref: '#/components/schemas/ErrorApiResponse' application/json: schema: $ref: '#/components/schemas/ErrorApiResponse' text/json: schema: $ref: '#/components/schemas/ErrorApiResponse' /product-configurations/{productConfigurationId}: get: tags: - Product Configurations summary: Get a product billing configuration record description: Retrieves a single product billing configuration record by its identifier. parameters: - name: productConfigurationId in: path description: The identifier of the product billing configuration required: true schema: type: string - name: includes in: query description: Optional related entities to include schema: type: array items: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/ProductBillingConfiguration' application/json: schema: $ref: '#/components/schemas/ProductBillingConfiguration' text/json: schema: $ref: '#/components/schemas/ProductBillingConfiguration' '404': description: Not Found content: text/plain: schema: $ref: '#/components/schemas/ErrorApiResponse' application/json: schema: $ref: '#/components/schemas/ErrorApiResponse' text/json: schema: $ref: '#/components/schemas/ErrorApiResponse' '500': description: Internal Server Error content: text/plain: schema: $ref: '#/components/schemas/ErrorApiResponse' application/json: schema: $ref: '#/components/schemas/ErrorApiResponse' text/json: schema: $ref: '#/components/schemas/ErrorApiResponse' components: schemas: ErrorApiResponse: type: object properties: Errors: type: - array - 'null' items: $ref: '#/components/schemas/ApiError' additionalProperties: false ApiError: type: object properties: Source: type: - string - 'null' Title: type: - string - 'null' Detail: {} Help: type: - string - 'null' additionalProperties: false BaseResponse: type: object properties: Id: type: - string - 'null' RecordIndex: type: integer format: int32 IsSuccess: type: boolean Errors: type: - array - 'null' items: type: string ErrorMessage: type: - string - 'null' deprecated: true additionalProperties: false ProductBillingConfiguration: type: object properties: Id: type: - string - 'null' Name: type: - string - 'null' CreatedBy: $ref: '#/components/schemas/LookupObject' CreatedDate: type: string format: date-time ModifiedBy: $ref: '#/components/schemas/LookupObject' ModifiedDate: type: string format: date-time ExternalId: type: - string - 'null' ETag: type: - string - 'null' Product: $ref: '#/components/schemas/LookupObject' InvoiceLevelForBundle: type: - array - 'null' items: type: string CreateBillingForInformationalProducts: type: - string - 'null' additionalProperties: {} LookupObject: type: object properties: Id: type: - string - 'null' Name: type: - string - 'null' additionalProperties: false BaseResponseBatchResponse: type: object properties: Summary: type: - string - 'null' Results: type: - array - 'null' items: $ref: '#/components/schemas/BaseResponse' additionalProperties: false securitySchemes: Bearer: type: apiKey description: Please insert JWT with Bearer into field name: Authorization in: header