---
title: "Ingest billable event"
method: POST
path: "/v1/events"
tags: ["Billable events"]
---

# Ingest billable event

`POST /v1/events`

Ingest a new billable event. This endpoint is idempotent, an event with the same id will be updated if it already exists.

## Query parameters

- `with_price_calculation` boolean, nullable — Whether to simulate prices for the event. Will be received in webhooks.

## Request body

- BillableEvent
  - `customer_id` string, required — Hyperline ID or external ID of the existing customer.
  - `event_type` string, required — Type corresponding to the event. When creating a dynamic product, this type will be used to map the related events to specific prices.
  - `timestamp` string, date-time, required — UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format, or milliseconds since the epoch. The event timestamp is used to retrieve the events related to a specific billing period.
  - `record` object, required — Payload of the event containing an ID and any additional metadata.
    - `id` union, required — A unique identifier for your event, used to identify the event in your system and prevent duplicates.
      - string
      - number

## Response `201`

Event ingested

---

[API](https://skmtc.dev/hyperline/apis/hyperline-api.md) · [All operations](https://skmtc.dev/hyperline/apis/hyperline-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hyperline/hyperline-api/revisions/19fa5f22e39b/schema)
