> ## Documentation Index
> Fetch the complete documentation index at: https://docs-int.wingback.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Report Single Event

> Increment the usage counters for a specific feature and customer within the current billing period.

export const IntRedir = () => {
  if (typeof document === "undefined") {
    return null;
  } else {
    setTimeout(() => {
      const currentUrl = new URL(window.location.href);
      if (currentUrl.hostname === 'docs-int.wingback.com') {
        currentUrl.hostname = 'docs.wingback.com';
        window.location.replace(currentUrl.toString());
      }
    }, 1);
    return <></>;
  }
};

<IntRedir />

This simplified, single-event usage reporting endpoint is suitable for logging individual events during testing. For production use, refer to the more powerful [bulk endpoint](/dev/api-reference/usage/post_c_usage_bulk) designed to handle batches of multiple events.


## OpenAPI

````yaml POST /v1/c/usage
openapi: 3.0.3
info:
  title: wingback-api
  description: ''
  contact:
    name: ''
  license:
    name: commercial
  version: 0.1.0
servers:
  - url: http://127.0.0.1:8080
    description: Local server
  - url: https://api.app.test.wingback.com
    description: Testing server
security: []
paths:
  /v1/c/usage:
    post:
      tags:
        - usage
      summary: Record an Usage Event
      operationId: record
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/inbound.usage.Usage'
        required: true
      responses:
        '200':
          description: Recorded
      security:
        - api-key: []
        - wb_user_cookie: []
components:
  schemas:
    inbound.usage.Usage:
      type: object
      description: |-
        Structure to report Usage for Usage-based features in a Contract
        Currently the only reporting strategy supported is additive, meaning
        that all reported usage units are summed for the billing period.
        This requires additional care from the reporter to ensure
        that no double-reporting takes place
      required:
        - feature_slug
        - units
        - customer_id
      properties:
        customer_id:
          $ref: '#/components/schemas/Id'
        feature_slug:
          type: string
          description: Slug of the feature usage is reported for
        is_absolute:
          type: boolean
          description: >-
            Setting this to true would discard all events with timestamp
            preceding this event,

            and will use this event's `units` as zero value for usage in the
            current billing period
          nullable: true
        metadata:
          type: object
          description: |-
            Any metadata you wish to associate with the event
            Note that both keys and values can only be a string
            Additionally, please avoid escaping non-ascii symbols
          additionalProperties:
            type: string
        timestamp:
          type: string
          format: date-time
          description: |-
            Date for the Usage.
            When usage period is closed, all usage which timestamp falls between
            Usage period (Billing period) start and end will be summed.
          nullable: true
        units:
          type: string
          description: Amount of units consumed since the last report
    Id:
      type: string
      description: >-
        Unique identifier of an object. Consists of object class prefix and a
        UUID
      example: Cust_c40bea18-c0c9-44b1-bd0c-43f5283e1670
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: wb-key
    wb_user_cookie:
      type: apiKey
      in: cookie
      name: app-session

````