{"components":{"responses":{"4XX_Client_Error_Response":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalErrorResponse"}}},"description":"error response for all http error codes in range 4XX"},"5XX_Server_Error_Response":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GlobalErrorResponse"}}},"description":"error response for all http error codes in range 5XX"}},"schemas":{"BillingGroupRequest":{"description":"Configuration parameters of a specific billing group.","properties":{"lateUsageBehaviour":{"description":"Determines how the system processes usage data received after the billing period is closed:.\nMust not be null.\nMust be one of:\n|            |                                                                          |\n| ---------- | ------------------------------------------------------------------------ |\n| CORRECTIVE | The system issues a corrective adjustment to an already created invoice. |\n| CARRY_OVER | The system carries the usage data forward to the next billing period.    |","type":"string"}},"required":["lateUsageBehaviour"],"type":"object"},"BillingGroupResponse":{"description":"Configuration parameters of a specific billing group.","properties":{"billingGroupIdent":{"description":"Unique identifier. Must not be blank. Size must be between 0 and 100. Must have size between 1 and 100 and match with the regular expression '[a-zA-Z0-9_-]*'.\nMust not be empty.","minLength":1,"type":"string"},"lateUsageBehaviour":{"description":"Determines how the system processes usage data received after the billing period is closed:.\nMust not be null.\nMust be one of:\n|            |                                                                          |\n| ---------- | ------------------------------------------------------------------------ |\n| CORRECTIVE | The system issues a corrective adjustment to an already created invoice. |\n| CARRY_OVER | The system carries the usage data forward to the next billing period.    |","type":"string"}},"required":["billingGroupIdent","lateUsageBehaviour"],"type":"object"},"GlobalErrorResponse":{"description":"error response providing details about the error occurred","properties":{"errors":{"description":"optional list of multiple errors occurred","items":{"type":"object"},"type":"array"},"message":{"description":"message describing the error","type":"string"},"path":{"description":"URL path where the error occurred","type":"string"},"status":{"description":"textual representation of http status code, e.g. 'BAD_REQUEST' for status code 400","type":"string"},"timestamp":{"description":"timestamp in UTC when the error occurred","format":"date-time","type":"string"},"uuid":{"description":"UUID generated by the server to identify the error occurred, should be stated in case of any inquiries","format":"uuid","type":"string"}},"type":"object"},"JsonNode":{"description":"The payload","nullable":true,"type":"object"},"OutboxEntryResponse":{"description":"Result list.","properties":{"createdAt":{"description":"Technical creation date and time of data record. ISO 8601 date-time with an offset from UTC/Greenwich (see: https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC).\nMust not be null.","example":"2024-03-08T15:34:00Z","format":"date-time","type":"string"},"deleteAt":{"description":"The delete timestamp","format":"date-time","nullable":true,"type":"string"},"failures":{"description":"Number of failures","format":"int32","type":"integer"},"id":{"description":"The ID of the outbox entry.\nMust not be blank.","minLength":1,"type":"string"},"ident":{"description":"The ident of the outbox entry. An entry does not necessarily require an ident. It serves as a convenience feature only.","nullable":true,"type":"string"},"lastFailureMessage":{"description":"Last failure message","nullable":true,"type":"string"},"nextRetryAt":{"description":"The next retry timestamp","format":"date-time","nullable":true,"type":"string"},"payload":{"$ref":"#/components/schemas/JsonNode"},"status":{"description":"The status of the outbox entry.\nMust not be null.","enum":["ENQUEUED","PROCESSING","WAITING","PROCESSED","FAILED"],"type":"string"},"statusHistory":{"description":"The status history.\nMust not be null.","items":{"$ref":"#/components/schemas/StatusHistory"},"type":"array"},"statusTimestamp":{"description":"The timestamp of the last status change.\nMust not be null.","format":"date-time","type":"string"},"tracingAttributes":{"additionalProperties":{"description":"Tracing attributes","type":"string"},"description":"Tracing attributes.\nMust not be null.","type":"object"}},"required":["createdAt","failures","id","status","statusHistory","statusTimestamp","tracingAttributes"],"type":"object"},"OutboxQueryParams":{"properties":{"createdFrom":{"description":"Start timestamp (inclusive) for filtering by the creation time of the outbox entry.","format":"date-time","nullable":true,"type":"string"},"createdTo":{"description":"End timestamp (inclusive) for filtering by the creation time of the outbox entry.","format":"date-time","nullable":true,"type":"string"},"from":{"description":"Start timestamp (inclusive) for filtering outbox entries based on the status timestamp.","format":"date-time","nullable":true,"type":"string"},"to":{"description":"End timestamp (inclusive) for filtering outbox entries based on the status timestamp.","format":"date-time","nullable":true,"type":"string"}},"type":"object"},"PageInfo":{"description":"Meta data about the current page and query.","properties":{"number":{"description":"Page number of total pages available.","format":"int32","type":"integer"},"size":{"description":"Size of the page as specified by the query.","format":"int32","type":"integer"},"totalElements":{"description":"Total count of all elements available for the query.","format":"int64","type":"integer"},"totalPages":{"description":"Total count of all pages available for the query.","format":"int32","type":"integer"}},"type":"object"},"PagedResponseOutboxEntryResponse":{"description":"List of result elements with paging metadata.","properties":{"_embedded":{"description":"Result list.","items":{"$ref":"#/components/schemas/OutboxEntryResponse"},"type":"array"},"page":{"$ref":"#/components/schemas/PageInfo"}},"type":"object"},"PagedResponseRatedUsageAggregationResponse":{"description":"List of result elements with paging metadata.","properties":{"_embedded":{"description":"Result list.","items":{"$ref":"#/components/schemas/RatedUsageAggregationResponse"},"type":"array"},"page":{"$ref":"#/components/schemas/PageInfo"}},"type":"object"},"PagedResponseRatedUsageResponse":{"description":"List of result elements with paging metadata.","properties":{"_embedded":{"description":"Result list.","items":{"$ref":"#/components/schemas/RatedUsageResponse"},"type":"array"},"page":{"$ref":"#/components/schemas/PageInfo"}},"type":"object"},"PeriodInAggregationWebDto":{"properties":{"end":{"description":"End, must not be before start.\nMust not be null.","example":"2019-10-28T06:42:31Z","format":"date-time","type":"string"},"start":{"description":"Start, must not be after end.\nMust not be null.","example":"2019-10-28T06:36:31Z","format":"date-time","type":"string"},"status":{"description":"Status of the aggregation period.\nMust be one of:\n|           |                                                                                                                                    |\n| --------- | ---------------------------------------------------------------------------------------------------------------------------------- |\n| PENDING   | Rated usage aggregation will be closed at the end of the period.                                                                   |\n| PROCESSED | Rated usage aggregation was closed at the end of the period. Requires manually closing if rated usage aggregation status is \"OPEN\" |","type":"string"}},"required":["end","start","status"],"type":"object"},"PeriodWebDto":{"description":"Period defined by date time of start and end each. In case the period is not exactly known start and end can be the same value.","properties":{"end":{"description":"End, must not be before start.\nMust not be null.","example":"2019-10-28T06:42:31Z","format":"date-time","type":"string"},"start":{"description":"Start, must not be after end.\nMust not be null.","example":"2019-10-28T06:36:31Z","format":"date-time","type":"string"}},"required":["end","start"],"type":"object"},"PriceWebDto":{"description":"Price for the usage metered.","properties":{"currency":{"description":"ISO-4217 currency code.\nMust not be blank.","minLength":1,"type":"string"},"totalPrice":{"description":"Total price of service usage.\nMust not be null.\nMust be greater than or equal to 0.","type":"number"},"unitPrice":{"description":"Price per unit.\nMust not be null.\nMust be greater than or equal to 0.","type":"number"}},"required":["currency","totalPrice","unitPrice"],"type":"object"},"PropertiesWebDto":{"description":"Properties allow adding client specific additional data to a resource in form of a key-value-mapping with unique keys and values mapped being of type string.","properties":{"key":{"description":"Key of the property, unique within a property list.\nMust not be blank.\nMust have size between 1 and 50 and match with the regular expression '[a-zA-Z0-9_-]*'.","maxLength":50,"minLength":1,"pattern":"[a-zA-Z0-9_-]*","type":"string"},"value":{"description":"Value of the property.\nMust not be blank.\nSize must be between 1 and 255.","maxLength":255,"minLength":1,"type":"string"}},"required":["key","value"],"type":"object"},"QuantityWebRequestDto":{"description":"Quantity described by an amount and unit, e.g. 10.5 kWh.","properties":{"amount":{"description":"Must not be null.\nMust be greater than 0.","type":"number"},"unit":{"description":"Must not be null.\nMust be one of:\n|        |\n| ------ |\n| PC     |\n| KWH    |\n| SECOND |\n| MINUTE |\n| HOUR   |\n| DAY    |\n| WEEK   |\n| MONTH  |\n| YEAR   |","type":"string"}},"required":["amount","unit"],"type":"object"},"QuantityWebResponseDto":{"description":"Quantity described by an amount and unit, e.g. 10.5 kWh.","nullable":true,"properties":{"amount":{"description":"Must not be null.\nMust be greater than 0.","type":"number"},"unit":{"description":"Must not be blank.","minLength":1,"type":"string"}},"required":["amount","unit"],"type":"object"},"RatedUsageAggregationCreationRequest":{"properties":{"aggregationGroup":{"description":"Used as an aggregation criterion. If not provided it will be filled by option.itemGroup. Will be mapped into lineItem.itemGroup during billing.\nSize must be between 0 and 64.","maxLength":64,"type":"string"},"aggregationPeriodTimestamp":{"description":"Any point in time within the desired aggregation period. For example, the end date of a usage to be aggregated.\nMust not be null.","example":"2019-10-28T06:42:31Z","format":"date-time","type":"string"},"contractIdent":{"description":"Ident of the contract the aggregation belongs to.\nMust not be blank.\nSize must be between 0 and 100.\nMust have size between 1 and 100 and match with the regular expression '[a-zA-Z0-9_.~-]{1,100}'.","maxLength":100,"pattern":"[a-zA-Z0-9_.~-]{1,100}","type":"string"},"currency":{"description":"ISO-4217 currency code.\nMust not be blank.","minLength":1,"type":"string"},"ident":{"description":"Unique identifier.\nMust not be blank.\nSize must be between 0 and 100.\nMust have size between 1 and 100 and match with the regular expression '[a-zA-Z0-9_-]*'.","maxLength":100,"pattern":"[a-zA-Z0-9_-]*","type":"string"},"productReferenceKey":{"description":"External key that identifies a product. Must match the product reference key of a usage option of the contract.\nMust not be blank.\nSize must be between 0 and 100.","maxLength":100,"type":"string"},"serviceLocation":{"$ref":"#/components/schemas/ServiceLocationWebDto"},"type":{"description":"Type of the line item. Determines if this item was provided as a service to your customer (sales) or by your customer (self-billing).\nMust not be null.","type":"string"},"unit":{"description":"Must not be null.\nMust be one of:\n|        |\n| ------ |\n| PC     |\n| KWH    |\n| SECOND |\n| MINUTE |\n| HOUR   |\n| DAY    |\n| WEEK   |\n| MONTH  |\n| YEAR   |","type":"string"}},"required":["aggregationPeriodTimestamp","contractIdent","currency","ident","productReferenceKey","serviceLocation","type","unit"],"type":"object"},"RatedUsageAggregationCreationResponse":{"properties":{"aggregationPeriod":{"$ref":"#/components/schemas/PeriodInAggregationWebDto"},"contractIdent":{"description":"Ident of the contract the usage belongs to.","pattern":"[a-zA-Z0-9_.~-]{1,100}","type":"string"},"created":{"description":"Timestamp of creation.","format":"date-time","type":"string"},"ident":{"description":"Unique identifier.","pattern":"[a-zA-Z0-9_-]{1,100}","type":"string"},"lastModified":{"description":"Timestamp of last modification.","format":"date-time","type":"string"},"optionIdent":{"type":"string"},"price":{"$ref":"#/components/schemas/PriceWebDto"},"productReferenceKey":{"description":"External key that identifies a product. Must match the product reference key of a usage option of the contract.","type":"string"},"quantity":{"$ref":"#/components/schemas/QuantityWebResponseDto"},"serviceLocation":{"$ref":"#/components/schemas/ServiceLocationWebDto"},"status":{"description":"Status of the aggregation.\nMust be one of:\n|        |                                                                                                                                                                                 |\n| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| OPEN   | Indicates that there are changes, such as new usages or cancellations, that have not yet been processed. \nRequires manually closing if aggregation period status is \"PROCESSED\" |\n| CLOSED | Indicates that this aggregation has been processed.                                                                                                                             |","type":"string"},"type":{"description":"Type of the line item. Determines if this item was provided as a service to your customer (sales) or by your customer (self-billing)","type":"string"}},"required":["aggregationPeriod","contractIdent","created","ident","lastModified","optionIdent","price","productReferenceKey","quantity","serviceLocation","status","type"],"type":"object"},"RatedUsageAggregationResponse":{"properties":{"aggregationPeriod":{"$ref":"#/components/schemas/PeriodInAggregationWebDto"},"contractIdent":{"description":"Ident of the contract the usage belongs to.\nMust not be blank.\nSize must be between 0 and 100.\nMust have size between 1 and 100 and match with the regular expression '[a-zA-Z0-9_.~-]{1,100}'.","maxLength":100,"pattern":"[a-zA-Z0-9_.~-]{1,100}","type":"string"},"created":{"description":"Timestamp of creation.\nMust not be null.","format":"date-time","type":"string"},"ident":{"description":"Unique identifier.\nMust not be blank.\nSize must be between 0 and 100.\nMust have size between 1 and 100 and match with the regular expression '[a-zA-Z0-9_-]*'.","maxLength":100,"pattern":"[a-zA-Z0-9_-]*","type":"string"},"lastModified":{"description":"Timestamp of last modification.\nMust not be null.","format":"date-time","type":"string"},"lineItemIdent":{"type":"string"},"optionIdent":{"type":"string"},"price":{"$ref":"#/components/schemas/PriceWebDto"},"productReferenceKey":{"description":"External key that identifies a product. Must match the product reference key of a usage option of the contract.\nMust not be blank.\nSize must be between 0 and 100.","maxLength":100,"type":"string"},"quantity":{"$ref":"#/components/schemas/QuantityWebResponseDto"},"serviceLocation":{"$ref":"#/components/schemas/ServiceLocationWebDto"},"status":{"description":"Status of the aggregation.\nMust be one of:\n|        |                                                                                                                                                                                 |\n| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| OPEN   | Indicates that there are changes, such as new usages or cancellations, that have not yet been processed. \nRequires manually closing if aggregation period status is \"PROCESSED\" |\n| CLOSED | Indicates that this aggregation has been processed.                                                                                                                             |","type":"string"},"transferred":{"format":"date-time","type":"string"},"type":{"description":"Type of the line item. Determines if this item was provided as a service to your customer (sales) or by your customer (self-billing).\nMust not be null.","type":"string"},"usagePeriod":{"$ref":"#/components/schemas/PeriodWebDto"}},"required":["aggregationPeriod","contractIdent","created","ident","lastModified","optionIdent","price","productReferenceKey","quantity","serviceLocation","status","type","usagePeriod"],"type":"object"},"RatedUsageRequest":{"description":"Rated Usage describes the usage of a service supplied with a price.","properties":{"aggregationGroup":{"description":"Used as an aggregation criterion. If not provided it will be filled by option.itemGroup. Will be mapped into lineItem.itemGroup during billing.\nSize must be between 0 and 64.","maxLength":64,"type":"string"},"contractIdent":{"description":"Ident of the contract the usage belongs to.\nMust not be blank.\nMust have size between 1 and 100 and match with the regular expression '[a-zA-Z0-9_.~-]{1,100}'.","maxLength":100,"minLength":1,"pattern":"[a-zA-Z0-9_.~-]{1,100}","type":"string"},"description":{"description":"Additional description providing more details regarding the usage. Not relevant for aggregation. Description of option is used for the aggregation result.\nSize must be between 0 and 255.","maxLength":255,"type":"string"},"ident":{"description":"Unique identifier.\nMust not be blank.\nMust have size between 1 and 100 and match with the regular expression '[a-zA-Z0-9_-]*'.","maxLength":100,"minLength":1,"pattern":"[a-zA-Z0-9_-]*","type":"string"},"period":{"$ref":"#/components/schemas/PeriodWebDto"},"price":{"$ref":"#/components/schemas/PriceWebDto"},"productReferenceKey":{"description":"External key that identifies a product. Must match the product reference key of a usage option of the contract.\nMust not be blank.\nSize must be between 1 and 100.","maxLength":100,"minLength":1,"type":"string"},"properties":{"description":"Properties allow adding client specific additional data to a resource in form of a key-value-mapping with unique keys and values mapped being of type string.\nSize must be between 0 and 50.","items":{"$ref":"#/components/schemas/PropertiesWebDto"},"maxItems":50,"type":"array"},"quantity":{"$ref":"#/components/schemas/QuantityWebRequestDto"},"serviceLocation":{"$ref":"#/components/schemas/ServiceLocationWebDto"},"type":{"description":"Type of the line item. Determines if this item was provided as a service to your customer (sales) or by your customer (self-billing).\nMust not be null.\nMust be one of:\n|              |                                                                                   |\n| ------------ | --------------------------------------------------------------------------------- |\n| SELF_BILLING | Service provided by a customer. Results in a line item on a self-billing invoice. |\n| SALES        | Services provided to a customer. Results in a line item on an invoice.            |","type":"string"}},"required":["contractIdent","ident","period","price","productReferenceKey","quantity","serviceLocation","type"],"type":"object"},"RatedUsageResponse":{"properties":{"aggregationGroup":{"description":"Used as an aggregation criterion. If not provided it will be filled by option.itemGroup. Will be mapped into lineItem.itemGroup during billing.\nSize must be between 0 and 64.","maxLength":64,"type":"string"},"contractIdent":{"description":"Ident of the contract the usage belongs to.\nMust not be blank.\nMust have size between 1 and 100 and match with the regular expression '[a-zA-Z0-9_.~-]{1,100}'.","maxLength":100,"minLength":1,"pattern":"[a-zA-Z0-9_.~-]{1,100}","type":"string"},"created":{"description":"Timestamp of creation.\nMust not be null.","format":"date-time","type":"string"},"description":{"description":"Additional description providing more details regarding the usage. Not relevant for aggregation. Description of option is used for the aggregation result.\nSize must be between 0 and 255.","maxLength":255,"type":"string"},"ident":{"description":"Unique identifier.\nMust not be blank.\nMust have size between 1 and 100 and match with the regular expression '[a-zA-Z0-9_-]*'.","maxLength":100,"minLength":1,"pattern":"[a-zA-Z0-9_-]*","type":"string"},"lastModified":{"description":"Timestamp of last modification.\nMust not be null.","format":"date-time","type":"string"},"period":{"$ref":"#/components/schemas/PeriodWebDto"},"price":{"$ref":"#/components/schemas/PriceWebDto"},"productReferenceKey":{"description":"External key that identifies a product. Must match the product reference key of a usage option of the contract.\nMust not be blank.\nSize must be between 1 and 100.","maxLength":100,"minLength":1,"type":"string"},"properties":{"description":"Properties allow adding client specific additional data to a resource in form of a key-value-mapping with unique keys and values mapped being of type string.\nSize must be between 0 and 50.","items":{"$ref":"#/components/schemas/PropertiesWebDto"},"maxItems":50,"type":"array"},"quantity":{"$ref":"#/components/schemas/QuantityWebResponseDto"},"ratedUsageAggregationIdent":{"description":"Ident of the rated usage aggregation the usage was assigned to.\nSize must be between 0 and 100.","maxLength":100,"type":"string"},"serviceLocation":{"$ref":"#/components/schemas/ServiceLocationWebDto"},"status":{"description":"Usage status.\nMust not be null.\nMust be one of:\n|               |                                                                                                                                     |\n| ------------- | ----------------------------------------------------------------------------------------------------------------------------------- |\n| PENDING_NEW   | Usage is created and is currently being attempted to be aggregated.                                                                 |\n| PENDING_RETRY | Usage could not be aggregated and is currently being attempted to be aggregated.                                                    |\n| AGGREGATED    | Usage is assigned to the latest aggregation result.                                                                                 |\n| CANCELLED     | Usage already aggregated has been cancelled and removed from the latest aggregation result.                                         |\n| UNPROCESSED   | Usage could not be aggregated and aggregation can be retried either automatically (until max attempts are exceeded) or manually.    |\n| DISCARDED     | Usage is not considered when automatically retrying to aggregate. Manual retry will start the automatic retries from the beginning. |","type":"string"},"type":{"description":"Type of the line item. Determines if this item was provided as a service to your customer (sales) or by your customer (self-billing).\nMust not be null.\nMust be one of:\n|              |                                                                                   |\n| ------------ | --------------------------------------------------------------------------------- |\n| SELF_BILLING | Service provided by a customer. Results in a line item on a self-billing invoice. |\n| SALES        | Services provided to a customer. Results in a line item on an invoice.            |","type":"string"}},"required":["contractIdent","created","ident","lastModified","period","price","productReferenceKey","quantity","serviceLocation","status","type"],"type":"object"},"ServiceLocationWebDto":{"description":"Location where a service was used.","properties":{"country":{"description":"Country of service usage. 2-letter country code according to 'ISO-3166 alpha-2'.\nMust not be blank.\nSize must be between 2 and 2.","example":"DE","maxLength":2,"minLength":2,"type":"string"},"region":{"description":"Region to describe the service location more precisely.\nSize must be between 0 and 100.","example":"Hamburg","maxLength":100,"type":"string"}},"required":["country"],"type":"object"},"SliceResponseRatedUsageResponse":{"description":"A slice of data that indicates whether there is a next slice available.","properties":{"content":{"description":"The list of elements contained in the current slice.","items":{"$ref":"#/components/schemas/RatedUsageResponse"},"type":"array"},"hasNext":{"description":"Indicates whether there is a slice available after this.","type":"boolean"}},"type":"object"},"StatusHistory":{"description":"The status history","properties":{"status":{"description":"The status","enum":["ENQUEUED","PROCESSING","WAITING","PROCESSED","FAILED"],"type":"string"},"timestamp":{"description":"The timestamp when the status occurred","format":"date-time","type":"string"}},"required":["status","timestamp"],"type":"object"}},"securitySchemes":{"oauth2":{"flows":{"clientCredentials":{"scopes":{"nbx-contract-order-management-read":"Scope nbx-contract-order-management-read","nbx-contract-order-management-write":"Scope nbx-contract-order-management-write","nbx-internal":"Scope nbx-internal","nbx-tenant-management-read":"Scope nbx-tenant-management-read","nbx-tenant-management-write":"Scope nbx-tenant-management-write"},"tokenUrl":"https://api.nbx-stage-westeurope.nitrobox.io/<tenant_short>/oauth2/token"}},"type":"oauth2"}}},"info":{"description":"API Description for Usages","title":"Usage API","version":"v2-preview-2.2.1"},"openapi":"3.0.1","paths":{"/usage/billing-group-configurations/{billingGroupIdent}":{"get":{"description":"Retrieves a specific billing group by its ident","operationId":"getBillingGroupByIdent","parameters":[{"description":"The ident of the billing group.\nMust not be blank.","example":"23-000001","in":"path","name":"billingGroupIdent","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingGroupResponse"}}},"description":"Standard response for successful HTTP requests."},"4XX":{"$ref":"#/components/responses/4XX_Client_Error_Response"},"5XX":{"$ref":"#/components/responses/5XX_Server_Error_Response"}},"security":[{"oauth2":["nbx-tenant-management-read"]}],"summary":"Get billing group by ident","tags":["Billing Group"]},"put":{"description":"Creates or updates a specific billing group","operationId":"updateBillingGroup","parameters":[{"description":"The ident of the billing group.\nMust not be blank.","example":"billingGroupIdent_12345","in":"path","name":"billingGroupIdent","required":true,"schema":{"minLength":1,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingGroupRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingGroupResponse"}}},"description":"Standard response for successful HTTP requests."},"4XX":{"$ref":"#/components/responses/4XX_Client_Error_Response"},"5XX":{"$ref":"#/components/responses/5XX_Server_Error_Response"}},"security":[{"oauth2":["nbx-tenant-management-write"]}],"summary":"Update billing group","tags":["Billing Group"]}},"/v2/rated-usage-aggregations":{"get":{"description":"Query rated usage aggregations by criteria defined, returning a paged result set.","operationId":"queryRatedUsageAggregations","parameters":[{"description":"Use RSQL query language. Intro here: https://aboullaite.me/rsql/.\n<br>\nThe following field combinations can be queried:\n- ident\n- contractIdent\n- status *and* aggregationPeriod.status\n- aggregationPeriod.start *and* aggregationPeriod.end <br> `the time span must not exceed 100 days`\n","example":"ident==23-000001","in":"query","name":"search","schema":{"type":"string"}},{"description":"Zero-based page index (0..n). Default is 0.","in":"query","name":"page","schema":{"default":0,"type":"integer"}},{"description":"Size of the page to be returned. Max page size allowed is 100, default is 20.","in":"query","name":"size","schema":{"default":20,"type":"integer"}},{"description":"A list of one or more sorting criteria each in the format 'property(,asc|desc)' with direction being case-insensitive.\nIf sorting direction is not provided, default direction is 'asc'.\nDefault sorting criteria: 'ident'.","in":"query","name":"sort","schema":{"default":["ident"],"items":{"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedResponseRatedUsageAggregationResponse"}}},"description":"Standard response for successful HTTP requests."},"4XX":{"$ref":"#/components/responses/4XX_Client_Error_Response"},"5XX":{"$ref":"#/components/responses/5XX_Server_Error_Response"}},"security":[{"oauth2":["nbx-contract-order-management-read"]}],"summary":"Query rated usage aggregations","tags":["Rated usage aggregations"]},"post":{"operationId":"createRatedUsageAggregation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatedUsageAggregationCreationRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatedUsageAggregationCreationResponse"}}},"description":"The request has been fulfilled, resulting in the creation of a new resource."},"4XX":{"$ref":"#/components/responses/4XX_Client_Error_Response"},"5XX":{"$ref":"#/components/responses/5XX_Server_Error_Response"}},"security":[{"oauth2":["nbx-contract-order-management-write"]}],"summary":"Create an empty rated used aggregation","tags":["Rated usage aggregations"]}},"/v2/rated-usage-aggregations/{ident}":{"get":{"description":"Retrieve rated usage aggregation by ident.","operationId":"retrieveRatedUsageAggregation","parameters":[{"description":"The ident of the rated usage aggregation.\nMust not be blank.","example":"nbx_ratedUsageAggregationIdent_12345","in":"path","name":"ident","required":true,"schema":{"maxLength":100,"minLength":1,"pattern":"[a-zA-Z0-9_.~-]+","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatedUsageAggregationResponse"}}},"description":"Standard response for successful HTTP requests."},"4XX":{"$ref":"#/components/responses/4XX_Client_Error_Response"},"5XX":{"$ref":"#/components/responses/5XX_Server_Error_Response"}},"security":[{"oauth2":["nbx-contract-order-management-read"]}],"summary":"Retrieve rated usage aggregation","tags":["Rated usage aggregations"]}},"/v2/rated-usage-aggregations/{ident}/actions/close":{"post":{"operationId":"closeRatedUsageAggregation","parameters":[{"description":"Must not be blank.","in":"path","name":"ident","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatedUsageAggregationResponse"}}},"description":"Standard response for successful HTTP requests."},"4XX":{"$ref":"#/components/responses/4XX_Client_Error_Response"},"5XX":{"$ref":"#/components/responses/5XX_Server_Error_Response"}},"security":[{"oauth2":["nbx-contract-order-management-write"]}],"summary":"Close rated usage aggregation","tags":["Rated usage aggregations"]}},"/v2/rated-usage-aggregations/{ident}/rated-usage":{"post":{"operationId":"addRatedUsage","parameters":[{"description":"The ident of the rated usage aggregation.\nMust not be blank.","example":"nbx_ratedUsageAggregationIdent_12345","in":"path","name":"ident","required":true,"schema":{"maxLength":100,"minLength":1,"pattern":"[a-zA-Z0-9_.~-]+","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatedUsageRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatedUsageResponse"}}},"description":"The request has been fulfilled, resulting in the creation of a new resource."},"4XX":{"$ref":"#/components/responses/4XX_Client_Error_Response"},"5XX":{"$ref":"#/components/responses/5XX_Server_Error_Response"}},"security":[{"oauth2":["nbx-contract-order-management-write"]}],"summary":"Add rated usage","tags":["Rated usage aggregations"]}},"/v2/rated-usages":{"get":{"description":"Query rated usages by criteria defined, returning a paged result set.","operationId":"queryRatedUsages","parameters":[{"description":"Use RSQL query language. Intro here: https://aboullaite.me/rsql/.\n<br>\nThe following field combinations can be queried:\n- ident\n- contractIdent *and* status\n- contractIdent *and* productReferenceKey\n- ratedUsageAggregationIdent\n<br>\n*documentNumber* and *search* parameter are mutually exclusive!\n","example":"ident==23-000001","in":"query","name":"search","schema":{"type":"string"}},{"description":"Filter rated usages by document number. Results are always sorted ascending by *period.start*.\n<br>\n*documentNumber* and *search* parameter are mutually exclusive!\n","in":"query","name":"documentNumber","schema":{"type":"string"}},{"description":"Zero-based page index (0..n). Default is 0.","in":"query","name":"page","schema":{"default":0,"type":"integer"}},{"description":"Size of the page to be returned. Max page size allowed is 100, default is 20.","in":"query","name":"size","schema":{"default":20,"type":"integer"}},{"description":"A list of one or more sorting criteria each in the format 'property(,asc|desc)' with direction being case-insensitive.\nIf sorting direction is not provided, default direction is 'asc'.\nDefault sorting criteria: 'ident'.","in":"query","name":"sort","schema":{"default":["ident"],"items":{"type":"string"},"type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedResponseRatedUsageResponse"}}},"description":"Standard response for successful HTTP requests."},"4XX":{"$ref":"#/components/responses/4XX_Client_Error_Response"},"5XX":{"$ref":"#/components/responses/5XX_Server_Error_Response"}},"security":[{"oauth2":["nbx-contract-order-management-read"]}],"summary":"Query rated usages","tags":["Rated usages"]},"post":{"operationId":"createRatedUsage","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatedUsageRequest"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatedUsageResponse"}}},"description":"The request has been fulfilled, resulting in the creation of a new resource."},"4XX":{"$ref":"#/components/responses/4XX_Client_Error_Response"},"5XX":{"$ref":"#/components/responses/5XX_Server_Error_Response"}},"security":[{"oauth2":["nbx-contract-order-management-write"]}],"summary":"Create rated usage","tags":["Rated usages"]}},"/v2/rated-usages/{ident}":{"get":{"description":"Retrieve rated usage by ident.","operationId":"getRatedUsage","parameters":[{"description":"Must not be blank.","in":"path","name":"ident","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatedUsageResponse"}}},"description":"Standard response for successful HTTP requests."},"4XX":{"$ref":"#/components/responses/4XX_Client_Error_Response"},"5XX":{"$ref":"#/components/responses/5XX_Server_Error_Response"}},"security":[{"oauth2":["nbx-contract-order-management-read"]}],"summary":"Retrieve rated usage","tags":["Rated usages"]}},"/v2/rated-usages/{ident}/actions/cancel":{"post":{"operationId":"cancelRatedUsage","parameters":[{"description":"Must not be blank.","in":"path","name":"ident","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"The request has been accepted for processing, but the processing has not been completed."},"4XX":{"$ref":"#/components/responses/4XX_Client_Error_Response"},"5XX":{"$ref":"#/components/responses/5XX_Server_Error_Response"}},"security":[{"oauth2":["nbx-contract-order-management-write"]}],"summary":"Cancel rated usage","tags":["Rated usages"]}},"/v2/rated-usages/{ident}/actions/retry":{"post":{"operationId":"retryRatedUsage","parameters":[{"description":"Must not be blank.","in":"path","name":"ident","required":true,"schema":{"minLength":1,"type":"string"}}],"responses":{"202":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"The request has been accepted for processing, but the processing has not been completed."},"4XX":{"$ref":"#/components/responses/4XX_Client_Error_Response"},"5XX":{"$ref":"#/components/responses/5XX_Server_Error_Response"}},"security":[{"oauth2":["nbx-contract-order-management-write"]}],"summary":"Retry or reactivate rated usage","tags":["Rated usages"]}}},"security":[{"oauth2":[]}],"servers":[{"description":"Instellix Stage","url":"https://api.nbx-stage-westeurope.nitrobox.io"}],"tags":[{"description":"endpoints for Rated usages","externalDocs":{"url":"https://docs.nitrobox.io"},"name":"Rated usages"},{"description":"endpoints for Rated usage aggregations","externalDocs":{"url":"https://docs.nitrobox.io"},"name":"Rated usage aggregations"},{"description":"endpoints for Billing Group","externalDocs":{"url":"https://docs.nitrobox.io"},"name":"Billing Group"}],"x-readme":{"explorer-enabled":false,"proxy-enabled":true}}