# Create a usage record Creates a usage report. Endpoint: POST /usages Version: latest Security: SecretApiKey, JWT ## Request fields (application/json): - `subscriptionId` (string, required) Subscription ID for which the usage is reported. Example: "sub_01HRF27SATGE4Z6PBJE6PD8328" - `quantity` (number, required) Quantity of consumed units for a subscription plan product. Represents the actual usage of a billable product or service by the customer. Accepts both integer and decimal values with a precision of up to 3 decimal places. The minimum billable unit is 0.001. Example: 5.125 - `usageTime` (string) Date and time, in ISO 8601 format, when a usage occurred. If this value is not provided or is empty, the date and time of the request is used. - `acceptPartialQuantity` (boolean) Specifies whether partial usage should be accepted if the reported quantity exceeds the available limit. When set to , the system automatically adjusts the reported quantity to the maximum allowed limit and reports the usage. When set to , the system rejects the request if the reported quantity exceeds the limit. Example: true ## Response 201 fields (application/json): - `id` (string) ID of the usage record. Example: "sub_usg_0YVJ636B95DNA9M3B1638HXBCQ" - `subscriptionId` (string, required) Subscription ID for which the usage is reported. Example: "sub_01HRF27SATGE4Z6PBJE6PD8328" - `invoiceId` (string,null) ID of the invoice to which usage is applied. This value is populated when the invoice is issued. Example: "in_0YVF9605RKC62BP14NE2R7V2XT" - `invoiceItemId` (string,null) ID of the invoice item to which usage is applied. This value is populated when the invoice is issued. Example: "ii_0YVFDEQS2KCFTBN9HXWJFY55GV" - `quantity` (number, required) Quantity of consumed units for a subscription plan product. Represents the actual usage of a billable product or service by the customer. Accepts both integer and decimal values with a precision of up to 3 decimal places. The minimum billable unit is 0.001. Example: 5.125 - `usageTime` (string) Date and time, in ISO 8601 format, when a usage occurred. If this value is not provided or is empty, the date and time of the request is used. - `createdTime` (string) Date and time which is set automatically when the resource is created. - `updatedTime` (string) Date and time which updates automatically when the resource is updated. - `_links` (array) Related links. - `_links.href` (string) Link URL. - `_links.rel` (string) Type of link. Enum: "self" ## Response 401 fields (application/json): - `status` (integer) HTTP status code. - `type` (string) Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference. It should provide human-readable documentation for the problem type. When this member is not present, its value is assumed to be "about:blank". - `title` (string) Short, human-readable summary of the problem type. Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem. - `detail` (string) Human-readable explanation that is specific to this occurrence of the problem. - `instance` (string) URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. ## Response 403 fields (application/json): - `status` (integer) HTTP status code. - `type` (string) Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference. It should provide human-readable documentation for the problem type. When this member is not present, its value is assumed to be "about:blank". - `title` (string) Short, human-readable summary of the problem type. Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem. - `detail` (string) Human-readable explanation that is specific to this occurrence of the problem. - `instance` (string) URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. ## Response 409 fields (application/json): - `status` (integer) HTTP status code. - `type` (string) Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference. It should provide human-readable documentation for the problem type. When this member is not present, its value is assumed to be "about:blank". - `title` (string) Short, human-readable summary of the problem type. Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem. - `detail` (string) Human-readable explanation that is specific to this occurrence of the problem. - `instance` (string) URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. ## Response 422 fields (application/json): - `status` (integer) HTTP status code. - `type` (string) Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference. It should provide human-readable documentation for the problem type. When this member is not present, its value is assumed to be "about:blank". - `title` (string) Short, human-readable summary of the problem type. Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem. - `detail` (string) Human-readable explanation that is specific to this occurrence of the problem. - `instance` (string) URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. - `invalidFields` (array) Invalid field details. Example: [{"field":"field1","message":"field1 is invalid"},{"field":"subObject.field2","message":"field2 is invalid"},{"field":"subObject.field2","message":"another error in the field2"}] - `invalidFields.field` (string) Name of the field. Dot notation is used for nested object field names. - `invalidFields.message` (string) Message field. ## Response 429 fields (application/json): - `type` (string) Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference. It should provide human-readable documentation for the problem type. When this member is not present, its value is assumed to be "about:blank". Example: "about:blank" - `title` (string) Short, human-readable summary of the problem type. Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem. Example: "Rate Limit Exceeded" - `status` (integer) HTTP status code. - `detail` (string) Human-readable explanation that is specific to this occurrence of the problem. Example: "A request cannot be executed because the user has sent too many requests within a certain period of time" - `instance` (string) URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.