# 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 true, the system automatically adjusts the reported quantity to the maximum allowed limit and reports the usage. When set to false, 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 when the resource is created. This value is set automatically when the resource is created. - `updatedTime` (string) Date and time when the resource is updated. This value is set 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.