langfuse_client_base/models/create_generation_event.rs
1/*
2 * server
3 *
4 * ## Real-time data The only real-time path to get tracing data is to ingest via OpenTelemetry (`POST /api/public/otel/v1/traces`) and retrieve via Observations API v2 (`GET /api/public/v2/observations`) and Metrics API v2 (`GET /api/public/v2/metrics`). Other public API write and read endpoints can delay data by about 10 minutes. Direct OpenTelemetry exporters must send the `x-langfuse-ingestion-version: 4` header; current Python and JS SDKs already do. See the [Public API docs](https://langfuse.com/docs/api-and-data-platform/features/public-api) and [real-time ingestion](https://langfuse.com/integrations/native/opentelemetry.md#real-time-ingestion). ## Authentication Authenticate with the API using [Basic Auth](https://en.wikipedia.org/wiki/Basic_access_authentication), get API keys in the project settings: - username: Langfuse Public Key - password: Langfuse Secret Key ## Exports - OpenAPI spec: https://cloud.langfuse.com/generated/api/openapi.yml - Self-hosted deployments: interactive API reference at `/api/docs` and OpenAPI spec at `/api/openapi.yaml`
5 *
6 * The version of the OpenAPI document:
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, bon::Builder)]
15pub struct CreateGenerationEvent {
16 /// UUID v4 that identifies the event
17 #[serde(rename = "id")]
18 pub id: String,
19 /// Datetime (ISO 8601) of event creation in client. Should be as close to actual event creation in client as possible, this timestamp will be used for ordering of events in future release. Resolution: milliseconds (required), microseconds (optimal).
20 #[serde(rename = "timestamp")]
21 pub timestamp: String,
22 /// Optional. Metadata field used by the Langfuse SDKs for debugging.
23 #[serde(
24 rename = "metadata",
25 default,
26 with = "::serde_with::rust::double_option",
27 skip_serializing_if = "Option::is_none"
28 )]
29 pub metadata: Option<Option<serde_json::Value>>,
30 #[serde(rename = "body")]
31 pub body: Box<models::CreateGenerationBody>,
32}
33
34impl CreateGenerationEvent {
35 pub fn new(
36 id: String,
37 timestamp: String,
38 body: models::CreateGenerationBody,
39 ) -> CreateGenerationEvent {
40 CreateGenerationEvent {
41 id,
42 timestamp,
43 metadata: None,
44 body: Box::new(body),
45 }
46 }
47}