---
title: "Ingest metering events"
method: POST
path: "/v3/openmeter/events"
tags: ["Metering Events"]
---

# Ingest metering events

`POST /v3/openmeter/events`

Ingests an event or batch of events following the CloudEvents specification.

## Request body

- union
  - MeteringEvent — Metering event following the CloudEvents specification.
    - `id` string, required — Identifies the event.
    - `source` string, uri-reference, required — Identifies the context in which an event happened.
    - `specversion` string, required — The version of the CloudEvents specification which the event uses.
    - `type` string, required — Contains a value describing the type of event related to the originating occurrence.
    - `datacontenttype` 'application/json', nullable — Content type of the CloudEvents data value. Only the value "application/json" is allowed over HTTP.
    - `dataschema` string, uri, nullable — Identifies the schema that data adheres to.
    - `subject` string, required — Describes the subject of the event in the context of the event producer (identified by source).
    - `time` string, date-time, nullable — Timestamp of when the occurrence happened. Must adhere to RFC 3339.
    - `data` object, nullable — The event payload. Optional, if present it must be a JSON object.
  - MeteringEvent[]
    - `id` string, required — Identifies the event.
    - `source` string, uri-reference, required — Identifies the context in which an event happened.
    - `specversion` string, required — The version of the CloudEvents specification which the event uses.
    - `type` string, required — Contains a value describing the type of event related to the originating occurrence.
    - `datacontenttype` 'application/json', nullable — Content type of the CloudEvents data value. Only the value "application/json" is allowed over HTTP.
    - `dataschema` string, uri, nullable — Identifies the schema that data adheres to.
    - `subject` string, required — Describes the subject of the event in the context of the event producer (identified by source).
    - `time` string, date-time, nullable — Timestamp of when the occurrence happened. Must adhere to RFC 3339.
    - `data` object, nullable — The event payload. Optional, if present it must be a JSON object.

## Response `202`

The events have been ingested and are being processed asynchronously.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.net/kong/apis/konnect-api-go-sdk.md) · [All operations](https://skmtc.net/kong/apis/konnect-api-go-sdk/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kong/konnect-api-go-sdk/versions/f920f418f552/schema)
