{"owner":"vxcontrol","repo":"pentagi","hasSpec":true,"specFile":"backend/fern/langfuse/openapi.yml","branch":"HEAD","format":"yaml","version":"3.x (YAML)","title":"pentagi","description":"","endpoints":[],"spec":"openapi: 3.0.1\ninfo:\n  title: langfuse\n  version: ''\n  description: >-\n    ## Authentication\n\n\n    Authenticate with the API using [Basic\n    Auth](https://en.wikipedia.org/wiki/Basic_access_authentication), get API\n    keys in the project settings:\n\n\n    - username: Langfuse Public Key\n\n    - password: Langfuse Secret Key\n\n\n    ## Exports\n\n\n    - OpenAPI spec: https://cloud.langfuse.com/generated/api/openapi.yml\n\n    - Postman collection:\n    https://cloud.langfuse.com/generated/postman/collection.json\npaths:\n  /api/public/annotation-queues:\n    get:\n      description: Get all annotation queues\n      operationId: annotationQueues_listQueues\n      tags:\n        - AnnotationQueues\n      parameters:\n        - name: page\n          in: query\n          description: page number, starts at 1\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: limit\n          in: query\n          description: limit of items per page\n          required: false\n          schema:\n            type: integer\n            nullable: true\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/PaginatedAnnotationQueues'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    post:\n      description: Create an annotation queue\n      operationId: annotationQueues_createQueue\n      tags:\n        - AnnotationQueues\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/AnnotationQueue'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/CreateAnnotationQueueRequest'\n  /api/public/annotation-queues/{queueId}:\n    get:\n      description: Get an annotation queue by ID\n      operationId: annotationQueues_getQueue\n      tags:\n        - AnnotationQueues\n      parameters:\n        - name: queueId\n          in: path\n          description: The unique identifier of the annotation queue\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/AnnotationQueue'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/annotation-queues/{queueId}/items:\n    get:\n      description: Get items for a specific annotation queue\n      operationId: annotationQueues_listQueueItems\n      tags:\n        - AnnotationQueues\n      parameters:\n        - name: queueId\n          in: path\n          description: The unique identifier of the annotation queue\n          required: true\n          schema:\n            type: string\n        - name: status\n          in: query\n          description: Filter by status\n          required: false\n          schema:\n            $ref: '#/components/schemas/AnnotationQueueStatus'\n            nullable: true\n        - name: page\n          in: query\n          description: page number, starts at 1\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: limit\n          in: query\n          description: limit of items per page\n          required: false\n          schema:\n            type: integer\n            nullable: true\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/PaginatedAnnotationQueueItems'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    post:\n      description: Add an item to an annotation queue\n      operationId: annotationQueues_createQueueItem\n      tags:\n        - AnnotationQueues\n      parameters:\n        - name: queueId\n          in: path\n          description: The unique identifier of the annotation queue\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/AnnotationQueueItem'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/CreateAnnotationQueueItemRequest'\n  /api/public/annotation-queues/{queueId}/items/{itemId}:\n    get:\n      description: Get a specific item from an annotation queue\n      operationId: annotationQueues_getQueueItem\n      tags:\n        - AnnotationQueues\n      parameters:\n        - name: queueId\n          in: path\n          description: The unique identifier of the annotation queue\n          required: true\n          schema:\n            type: string\n        - name: itemId\n          in: path\n          description: The unique identifier of the annotation queue item\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/AnnotationQueueItem'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    patch:\n      description: Update an annotation queue item\n      operationId: annotationQueues_updateQueueItem\n      tags:\n        - AnnotationQueues\n      parameters:\n        - name: queueId\n          in: path\n          description: The unique identifier of the annotation queue\n          required: true\n          schema:\n            type: string\n        - name: itemId\n          in: path\n          description: The unique identifier of the annotation queue item\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/AnnotationQueueItem'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/UpdateAnnotationQueueItemRequest'\n    delete:\n      description: Remove an item from an annotation queue\n      operationId: annotationQueues_deleteQueueItem\n      tags:\n        - AnnotationQueues\n      parameters:\n        - name: queueId\n          in: path\n          description: The unique identifier of the annotation queue\n          required: true\n          schema:\n            type: string\n        - name: itemId\n          in: path\n          description: The unique identifier of the annotation queue item\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/DeleteAnnotationQueueItemResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/annotation-queues/{queueId}/assignments:\n    post:\n      description: Create an assignment for a user to an annotation queue\n      operationId: annotationQueues_createQueueAssignment\n      tags:\n        - AnnotationQueues\n      parameters:\n        - name: queueId\n          in: path\n          description: The unique identifier of the annotation queue\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/CreateAnnotationQueueAssignmentResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/AnnotationQueueAssignmentRequest'\n    delete:\n      description: Delete an assignment for a user to an annotation queue\n      operationId: annotationQueues_deleteQueueAssignment\n      tags:\n        - AnnotationQueues\n      parameters:\n        - name: queueId\n          in: path\n          description: The unique identifier of the annotation queue\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/DeleteAnnotationQueueAssignmentResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/AnnotationQueueAssignmentRequest'\n  /api/public/integrations/blob-storage:\n    get:\n      description: >-\n        Get all blob storage integrations for the organization (requires\n        organization-scoped API key)\n      operationId: blobStorageIntegrations_getBlobStorageIntegrations\n      tags:\n        - BlobStorageIntegrations\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/BlobStorageIntegrationsResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    put:\n      description: >-\n        Create or update a blob storage integration for a specific project\n        (requires organization-scoped API key). The configuration is validated\n        by performing a test upload to the bucket.\n      operationId: blobStorageIntegrations_upsertBlobStorageIntegration\n      tags:\n        - BlobStorageIntegrations\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/BlobStorageIntegrationResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/CreateBlobStorageIntegrationRequest'\n  /api/public/integrations/blob-storage/{id}:\n    delete:\n      description: >-\n        Delete a blob storage integration by ID (requires organization-scoped\n        API key)\n      operationId: blobStorageIntegrations_deleteBlobStorageIntegration\n      tags:\n        - BlobStorageIntegrations\n      parameters:\n        - name: id\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/BlobStorageIntegrationDeletionResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/comments:\n    post:\n      description: >-\n        Create a comment. Comments may be attached to different object types\n        (trace, observation, session, prompt).\n      operationId: comments_create\n      tags:\n        - Comments\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/CreateCommentResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/CreateCommentRequest'\n    get:\n      description: Get all comments\n      operationId: comments_get\n      tags:\n        - Comments\n      parameters:\n        - name: page\n          in: query\n          description: Page number, starts at 1.\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: limit\n          in: query\n          description: >-\n            Limit of items per page. If you encounter api issues due to too\n            large page sizes, try to reduce the limit\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: objectType\n          in: query\n          description: >-\n            Filter comments by object type (trace, observation, session,\n            prompt).\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: objectId\n          in: query\n          description: >-\n            Filter comments by object id. If objectType is not provided, an\n            error will be thrown.\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: authorUserId\n          in: query\n          description: Filter comments by author user id.\n          required: false\n          schema:\n            type: string\n            nullable: true\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/GetCommentsResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/comments/{commentId}:\n    get:\n      description: Get a comment by id\n      operationId: comments_get-by-id\n      tags:\n        - Comments\n      parameters:\n        - name: commentId\n          in: path\n          description: The unique langfuse identifier of a comment\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Comment'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/dataset-items:\n    post:\n      description: Create a dataset item\n      operationId: datasetItems_create\n      tags:\n        - DatasetItems\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/DatasetItem'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/CreateDatasetItemRequest'\n    get:\n      description: Get dataset items\n      operationId: datasetItems_list\n      tags:\n        - DatasetItems\n      parameters:\n        - name: datasetName\n          in: query\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: sourceTraceId\n          in: query\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: sourceObservationId\n          in: query\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: page\n          in: query\n          description: page number, starts at 1\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: limit\n          in: query\n          description: limit of items per page\n          required: false\n          schema:\n            type: integer\n            nullable: true\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/PaginatedDatasetItems'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/dataset-items/{id}:\n    get:\n      description: Get a dataset item\n      operationId: datasetItems_get\n      tags:\n        - DatasetItems\n      parameters:\n        - name: id\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/DatasetItem'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    delete:\n      description: >-\n        Delete a dataset item and all its run items. This action is\n        irreversible.\n      operationId: datasetItems_delete\n      tags:\n        - DatasetItems\n      parameters:\n        - name: id\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/DeleteDatasetItemResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/dataset-run-items:\n    post:\n      description: Create a dataset run item\n      operationId: datasetRunItems_create\n      tags:\n        - DatasetRunItems\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/DatasetRunItem'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/CreateDatasetRunItemRequest'\n    get:\n      description: List dataset run items\n      operationId: datasetRunItems_list\n      tags:\n        - DatasetRunItems\n      parameters:\n        - name: datasetId\n          in: query\n          required: true\n          schema:\n            type: string\n        - name: runName\n          in: query\n          required: true\n          schema:\n            type: string\n        - name: page\n          in: query\n          description: page number, starts at 1\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: limit\n          in: query\n          description: limit of items per page\n          required: false\n          schema:\n            type: integer\n            nullable: true\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/PaginatedDatasetRunItems'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/v2/datasets:\n    get:\n      description: Get all datasets\n      operationId: datasets_list\n      tags:\n        - Datasets\n      parameters:\n        - name: page\n          in: query\n          description: page number, starts at 1\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: limit\n          in: query\n          description: limit of items per page\n          required: false\n          schema:\n            type: integer\n            nullable: true\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/PaginatedDatasets'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    post:\n      description: Create a dataset\n      operationId: datasets_create\n      tags:\n        - Datasets\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Dataset'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/CreateDatasetRequest'\n  /api/public/v2/datasets/{datasetName}:\n    get:\n      description: Get a dataset\n      operationId: datasets_get\n      tags:\n        - Datasets\n      parameters:\n        - name: datasetName\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Dataset'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/datasets/{datasetName}/runs/{runName}:\n    get:\n      description: Get a dataset run and its items\n      operationId: datasets_getRun\n      tags:\n        - Datasets\n      parameters:\n        - name: datasetName\n          in: path\n          required: true\n          schema:\n            type: string\n        - name: runName\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/DatasetRunWithItems'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    delete:\n      description: Delete a dataset run and all its run items. This action is irreversible.\n      operationId: datasets_deleteRun\n      tags:\n        - Datasets\n      parameters:\n        - name: datasetName\n          in: path\n          required: true\n          schema:\n            type: string\n        - name: runName\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/DeleteDatasetRunResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/datasets/{datasetName}/runs:\n    get:\n      description: Get dataset runs\n      operationId: datasets_getRuns\n      tags:\n        - Datasets\n      parameters:\n        - name: datasetName\n          in: path\n          required: true\n          schema:\n            type: string\n        - name: page\n          in: query\n          description: page number, starts at 1\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: limit\n          in: query\n          description: limit of items per page\n          required: false\n          schema:\n            type: integer\n            nullable: true\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/PaginatedDatasetRuns'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/health:\n    get:\n      description: Check health of API and database\n      operationId: health_health\n      tags:\n        - Health\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/HealthResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '503':\n          description: ''\n  /api/public/ingestion:\n    post:\n      description: >-\n        **Legacy endpoint for batch ingestion for Langfuse Observability.**\n\n\n        -> Please use the OpenTelemetry endpoint (`/api/public/otel/v1/traces`).\n        Learn more: https://langfuse.com/integrations/native/opentelemetry\n\n\n        Within each batch, there can be multiple events.\n\n        Each event has a type, an id, a timestamp, metadata and a body.\n\n        Internally, we refer to this as the \"event envelope\" as it tells us\n        something about the event but not the trace.\n\n        We use the event id within this envelope to deduplicate messages to\n        avoid processing the same event twice, i.e. the event id should be\n        unique per request.\n\n        The event.body.id is the ID of the actual trace and will be used for\n        updates and will be visible within the Langfuse App.\n\n        I.e. if you want to update a trace, you'd use the same body id, but\n        separate event IDs.\n\n\n        Notes:\n\n        - Introduction to data model:\n        https://langfuse.com/docs/observability/data-model\n\n        - Batch sizes are limited to 3.5 MB in total. You need to adjust the\n        number of events per batch accordingly.\n\n        - The API does not return a 4xx status code for input errors. Instead,\n        it responds with a 207 status code, which includes a list of the\n        encountered errors.\n      operationId: ingestion_batch\n      tags:\n        - Ingestion\n      parameters: []\n      responses:\n        default:\n          description: 'Batch ingestion response with status information for each event'\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/IngestionResponse'\n              examples:\n                Example1:\n                  value:\n                    successes:\n                      - id: abcdef-1234-5678-90ab\n                        status: 201\n                    errors: []\n                Example2:\n                  value:\n                    successes:\n                      - id: abcdef-1234-5678-90ab\n                        status: 201\n                    errors: []\n                Example3:\n                  value:\n                    successes:\n                      - id: abcdef-1234-5678-90ab\n                        status: 201\n                    errors: []\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                batch:\n                  type: array\n                  items:\n                    $ref: '#/components/schemas/IngestionEvent'\n                  description: >-\n                    Batch of tracing events to be ingested. Discriminated by\n                    attribute `type`.\n                metadata:\n                  nullable: true\n                  description: >-\n                    Optional. Metadata field used by the Langfuse SDKs for\n                    debugging.\n              required:\n                - batch\n            examples:\n              Example1:\n                value:\n                  batch:\n                    - id: abcdef-1234-5678-90ab\n                      timestamp: '2022-01-01T00:00:00.000Z'\n                      type: trace-create\n                      body:\n                        id: abcdef-1234-5678-90ab\n                        timestamp: '2022-01-01T00:00:00.000Z'\n                        environment: production\n                        name: My Trace\n                        userId: 1234-5678-90ab-cdef\n                        input: My input\n                        output: My output\n                        sessionId: 1234-5678-90ab-cdef\n                        release: 1.0.0\n                        version: 1.0.0\n                        metadata: My metadata\n                        tags:\n                          - tag1\n                          - tag2\n                        public: true\n              Example2:\n                value:\n                  batch:\n                    - id: abcdef-1234-5678-90ab\n                      timestamp: '2022-01-01T00:00:00.000Z'\n                      type: span-create\n                      body:\n                        id: abcdef-1234-5678-90ab\n                        traceId: 1234-5678-90ab-cdef\n                        startTime: '2022-01-01T00:00:00.000Z'\n                        environment: test\n              Example3:\n                value:\n                  batch:\n                    - id: abcdef-1234-5678-90ab\n                      timestamp: '2022-01-01T00:00:00.000Z'\n                      type: score-create\n                      body:\n                        id: abcdef-1234-5678-90ab\n                        traceId: 1234-5678-90ab-cdef\n                        name: My Score\n                        value: 0.9\n                        environment: default\n  /api/public/llm-connections:\n    get:\n      description: Get all LLM connections in a project\n      operationId: llmConnections_list\n      tags:\n        - LlmConnections\n      parameters:\n        - name: page\n          in: query\n          description: page number, starts at 1\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: limit\n          in: query\n          description: limit of items per page\n          required: false\n          schema:\n            type: integer\n            nullable: true\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/PaginatedLlmConnections'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    put:\n      description: >-\n        Create or update an LLM connection. The connection is upserted on\n        provider.\n      operationId: llmConnections_upsert\n      tags:\n        - LlmConnections\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/LlmConnection'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/UpsertLlmConnectionRequest'\n  /api/public/media/{mediaId}:\n    get:\n      description: Get a media record\n      operationId: media_get\n      tags:\n        - Media\n      parameters:\n        - name: mediaId\n          in: path\n          description: The unique langfuse identifier of a media record\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/GetMediaResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    patch:\n      description: Patch a media record\n      operationId: media_patch\n      tags:\n        - Media\n      parameters:\n        - name: mediaId\n          in: path\n          description: The unique langfuse identifier of a media record\n          required: true\n          schema:\n            type: string\n      responses:\n        '204':\n          description: ''\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/PatchMediaBody'\n  /api/public/media:\n    post:\n      description: Get a presigned upload URL for a media record\n      operationId: media_getUploadUrl\n      tags:\n        - Media\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/GetMediaUploadUrlResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/GetMediaUploadUrlRequest'\n  /api/public/v2/metrics:\n    get:\n      description: >-\n        Get metrics from the Langfuse project using a query object. V2 endpoint\n        with optimized performance.\n\n\n        ## V2 Differences\n\n        - Supports `observations`, `scores-numeric`, and `scores-categorical`\n        views only (traces view not supported)\n\n        - Direct access to tags and release fields on observations\n\n        - Backwards-compatible: traceName, traceRelease, traceVersion dimensions\n        are still available on observations view\n\n        - High cardinality dimensions are not supported and will return a 400\n        error (see below)\n\n\n        For more details, see the [Metrics API\n        documentation](https://langfuse.com/docs/metrics/features/metrics-api).\n\n\n        ## Available Views\n\n\n        ### observations\n\n        Query observation-level data (spans, generations, events).\n\n\n        **Dimensions:**\n\n        - `environment` - Deployment environment (e.g., production, staging)\n\n        - `type` - Type of observation (SPAN, GENERATION, EVENT)\n\n        - `name` - Name of the observation\n\n        - `level` - Logging level of the observation\n\n        - `version` - Version of the observation\n\n        - `tags` - User-defined tags\n\n        - `release` - Release version\n\n        - `traceName` - Name of the parent trace (backwards-compatible)\n\n        - `traceRelease` - Release version of the parent trace\n        (backwards-compatible, maps to release)\n\n        - `traceVersion` - Version of the parent trace (backwards-compatible,\n        maps to version)\n\n        - `providedModelName` - Name of the model used\n\n        - `promptName` - Name of the prompt used\n\n        - `promptVersion` - Version of the prompt used\n\n        - `startTimeMonth` - Month of start_time in YYYY-MM format\n\n\n        **Measures:**\n\n        - `count` - Total number of observations\n\n        - `latency` - Observation latency (milliseconds)\n\n        - `streamingLatency` - Generation latency from completion start to end\n        (milliseconds)\n\n        - `inputTokens` - Sum of input tokens consumed\n\n        - `outputTokens` - Sum of output tokens produced\n\n        - `totalTokens` - Sum of all tokens consumed\n\n        - `outputTokensPerSecond` - Output tokens per second\n\n        - `tokensPerSecond` - Total tokens per second\n\n        - `inputCost` - Input cost (USD)\n\n        - `outputCost` - Output cost (USD)\n\n        - `totalCost` - Total cost (USD)\n\n        - `timeToFirstToken` - Time to first token (milliseconds)\n\n        - `countScores` - Number of scores attached to the observation\n\n\n        ### scores-numeric\n\n        Query numeric and boolean score data.\n\n\n        **Dimensions:**\n\n        - `environment` - Deployment environment\n\n        - `name` - Name of the score (e.g., accuracy, toxicity)\n\n        - `source` - Origin of the score (API, ANNOTATION, EVAL)\n\n        - `dataType` - Data type (NUMERIC, BOOLEAN)\n\n        - `configId` - Identifier of the score config\n\n        - `timestampMonth` - Month in YYYY-MM format\n\n        - `timestampDay` - Day in YYYY-MM-DD format\n\n        - `value` - Numeric value of the score\n\n        - `traceName` - Name of the parent trace\n\n        - `tags` - Tags\n\n        - `traceRelease` - Release version\n\n        - `traceVersion` - Version\n\n        - `observationName` - Name of the associated observation\n\n        - `observationModelName` - Model name of the associated observation\n\n        - `observationPromptName` - Prompt name of the associated observation\n\n        - `observationPromptVersion` - Prompt version of the associated\n        observation\n\n\n        **Measures:**\n\n        - `count` - Total number of scores\n\n        - `value` - Score value (for aggregations)\n\n\n        ### scores-categorical\n\n        Query categorical score data. Same dimensions as scores-numeric except\n        uses `stringValue` instead of `value`.\n\n\n        **Measures:**\n\n        - `count` - Total number of scores\n\n\n        ## High Cardinality Dimensions\n\n        The following dimensions cannot be used as grouping dimensions in v2\n        metrics API as they can cause performance issues.\n\n        Use them in filters instead.\n\n\n        **observations view:**\n\n        - `id` - Use traceId filter to narrow down results\n\n        - `traceId` - Use traceId filter instead\n\n        - `userId` - Use userId filter instead\n\n        - `sessionId` - Use sessionId filter instead\n\n        - `parentObservationId` - Use parentObservationId filter instead\n\n\n        **scores-numeric / scores-categorical views:**\n\n        - `id` - Use specific filters to narrow down results\n\n        - `traceId` - Use traceId filter instead\n\n        - `userId` - Use userId filter instead\n\n        - `sessionId` - Use sessionId filter instead\n\n        - `observationId` - Use observationId filter instead\n\n\n        ## Aggregations\n\n        Available aggregation functions: `sum`, `avg`, `count`, `max`, `min`,\n        `p50`, `p75`, `p90`, `p95`, `p99`, `histogram`\n\n\n        ## Time Granularities\n\n        Available granularities for timeDimension: `auto`, `minute`, `hour`,\n        `day`, `week`, `month`\n\n        - `auto` bins the data into approximately 50 buckets based on the time\n        range\n      operationId: metricsV2_metrics\n      tags:\n        - MetricsV2\n      parameters:\n        - name: query\n          in: query\n          description: >-\n            JSON string containing the query parameters with the following\n            structure:\n\n            ```json\n\n            {\n              \"view\": string,           // Required. One of \"observations\", \"scores-numeric\", \"scores-categorical\"\n              \"dimensions\": [           // Optional. Default: []\n                {\n                  \"field\": string       // Field to group by (see available dimensions above)\n                }\n              ],\n              \"metrics\": [              // Required. At least one metric must be provided\n                {\n                  \"measure\": string,    // What to measure (see available measures above)\n                  \"aggregation\": string // How to aggregate: \"sum\", \"avg\", \"count\", \"max\", \"min\", \"p50\", \"p75\", \"p90\", \"p95\", \"p99\", \"histogram\"\n                }\n              ],\n              \"filters\": [              // Optional. Default: []\n                {\n                  \"column\": string,     // Column to filter on (any dimension field)\n                  \"operator\": string,   // Operator based on type:\n                                        // - datetime: \">\", \"<\", \">=\", \"<=\"\n                                        // - string: \"=\", \"contains\", \"does not contain\", \"starts with\", \"ends with\"\n                                        // - stringOptions: \"any of\", \"none of\"\n                                        // - arrayOptions: \"any of\", \"none of\", \"all of\"\n                                        // - number: \"=\", \">\", \"<\", \">=\", \"<=\"\n                                        // - stringObject/numberObject: same as string/number with required \"key\"\n                                        // - boolean: \"=\", \"<>\"\n                                        // - null: \"is null\", \"is not null\"\n                  \"value\": any,         // Value to compare against\n                  \"type\": string,       // Data type: \"datetime\", \"string\", \"number\", \"stringOptions\", \"categoryOptions\", \"arrayOptions\", \"stringObject\", \"numberObject\", \"boolean\", \"null\"\n                  \"key\": string         // Required only for stringObject/numberObject types (e.g., metadata filtering)\n                }\n              ],\n              \"timeDimension\": {        // Optional. Default: null. If provided, results will be grouped by time\n                \"granularity\": string   // One of \"auto\", \"minute\", \"hour\", \"day\", \"week\", \"month\"\n              },\n              \"fromTimestamp\": string,  // Required. ISO datetime string for start of time range\n              \"toTimestamp\": string,    // Required. ISO datetime string for end of time range (must be after fromTimestamp)\n              \"orderBy\": [              // Optional. Default: null\n                {\n                  \"field\": string,      // Field to order by (dimension or metric alias)\n                  \"direction\": string   // \"asc\" or \"desc\"\n                }\n              ],\n              \"config\": {               // Optional. Query-specific configuration\n                \"bins\": number,         // Optional. Number of bins for histogram aggregation (1-100), default: 10\n                \"row_limit\": number     // Optional. Maximum number of rows to return (1-1000), default: 100\n              }\n            }\n\n            ```\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/MetricsV2Response'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/metrics:\n    get:\n      description: >-\n        Get metrics from the Langfuse project using a query object.\n\n\n        Consider using the [v2 metrics\n        endpoint](/api-reference#tag/metricsv2/GET/api/public/v2/metrics) for\n        better performance.\n\n\n        For more details, see the [Metrics API\n        documentation](https://langfuse.com/docs/metrics/features/metrics-api).\n      operationId: metrics_metrics\n      tags:\n        - Metrics\n      parameters:\n        - name: query\n          in: query\n          description: >-\n            JSON string containing the query parameters with the following\n            structure:\n\n            ```json\n\n            {\n              \"view\": string,           // Required. One of \"traces\", \"observations\", \"scores-numeric\", \"scores-categorical\"\n              \"dimensions\": [           // Optional. Default: []\n                {\n                  \"field\": string       // Field to group by, e.g. \"name\", \"userId\", \"sessionId\"\n                }\n              ],\n              \"metrics\": [              // Required. At least one metric must be provided\n                {\n                  \"measure\": string,    // What to measure, e.g. \"count\", \"latency\", \"value\"\n                  \"aggregation\": string // How to aggregate, e.g. \"count\", \"sum\", \"avg\", \"p95\", \"histogram\"\n                }\n              ],\n              \"filters\": [              // Optional. Default: []\n                {\n                  \"column\": string,     // Column to filter on\n                  \"operator\": string,   // Operator, e.g. \"=\", \">\", \"<\", \"contains\"\n                  \"value\": any,         // Value to compare against\n                  \"type\": string,       // Data type, e.g. \"string\", \"number\", \"stringObject\"\n                  \"key\": string         // Required only when filtering on metadata\n                }\n              ],\n              \"timeDimension\": {        // Optional. Default: null. If provided, results will be grouped by time\n                \"granularity\": string   // One of \"minute\", \"hour\", \"day\", \"week\", \"month\", \"auto\"\n              },\n              \"fromTimestamp\": string,  // Required. ISO datetime string for start of time range\n              \"toTimestamp\": string,    // Required. ISO datetime string for end of time range\n              \"orderBy\": [              // Optional. Default: null\n                {\n                  \"field\": string,      // Field to order by\n                  \"direction\": string   // \"asc\" or \"desc\"\n                }\n              ],\n              \"config\": {               // Optional. Query-specific configuration\n                \"bins\": number,         // Optional. Number of bins for histogram (1-100), default: 10\n                \"row_limit\": number     // Optional. Row limit for results (1-1000)\n              }\n            }\n\n            ```\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/MetricsResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/models:\n    post:\n      description: Create a model\n      operationId: models_create\n      tags:\n        - Models\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Model'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/CreateModelRequest'\n    get:\n      description: Get all models\n      operationId: models_list\n      tags:\n        - Models\n      parameters:\n        - name: page\n          in: query\n          description: page number, starts at 1\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: limit\n          in: query\n          description: limit of items per page\n          required: false\n          schema:\n            type: integer\n            nullable: true\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/PaginatedModels'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/models/{id}:\n    get:\n      description: Get a model\n      operationId: models_get\n      tags:\n        - Models\n      parameters:\n        - name: id\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Model'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    delete:\n      description: >-\n        Delete a model. Cannot delete models managed by Langfuse. You can create\n        your own definition with the same modelName to override the definition\n        though.\n      operationId: models_delete\n      tags:\n        - Models\n      parameters:\n        - name: id\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '204':\n          description: ''\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/v2/observations:\n    get:\n      description: >-\n        Get a list of observations with cursor-based pagination and flexible\n        field selection.\n\n\n        ## Cursor-based Pagination\n\n        This endpoint uses cursor-based pagination for efficient traversal of\n        large datasets.\n\n        The cursor is returned in the response metadata and should be passed in\n        subsequent requests\n\n        to retrieve the next page of results.\n\n\n        ## Field Selection\n\n        Use the `fields` parameter to control which observation fields are\n        returned:\n\n        - `core` - Always included: id, traceId, startTime, endTime, projectId,\n        parentObservationId, type\n\n        - `basic` - name, level, statusMessage, version, environment,\n        bookmarked, public, userId, sessionId\n\n        - `time` - completionStartTime, createdAt, updatedAt\n\n        - `io` - input, output\n\n        - `metadata` - metadata (truncated to 200 chars by default, use\n        `expandMetadata` to get full values)\n\n        - `model` - providedModelName, internalModelId, modelParameters\n\n        - `usage` - usageDetails, costDetails, totalCost\n\n        - `prompt` - promptId, promptName, promptVersion\n\n        - `metrics` - latency, timeToFirstToken\n\n\n        If not specified, `core` and `basic` field groups are returned.\n\n\n        ## Filters\n\n        Multiple filtering options are available via query parameters or the\n        structured `filter` parameter.\n\n        When using the `filter` parameter, it takes precedence over individual\n        query parameter filters.\n      operationId: observationsV2_getMany\n      tags:\n        - ObservationsV2\n      parameters:\n        - name: fields\n          in: query\n          description: >-\n            Comma-separated list of field groups to include in the response.\n\n            Available groups: core, basic, time, io, metadata, model, usage,\n            prompt, metrics.\n\n            If not specified, `core` and `basic` field groups are returned.\n\n            Example: \"basic,usage,model\"\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: expandMetadata\n          in: query\n          description: |-\n            Comma-separated list of metadata keys to return non-truncated.\n            By default, metadata values over 200 characters are truncated.\n            Use this parameter to retrieve full values for specific keys.\n            Example: \"key1,key2\"\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: limit\n          in: query\n          description: Number of items to return per page. Maximum 1000, default 50.\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: cursor\n          in: query\n          description: >-\n            Base64-encoded cursor for pagination. Use the cursor from the\n            previous response to get the next page.\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: parseIoAsJson\n          in: query\n          description: >-\n            Set to `true` to parse input/output fields as JSON, or `false` to\n            return raw strings.\n\n            Defaults to `false` if not provided.\n          required: false\n          schema:\n            type: boolean\n            nullable: true\n        - name: name\n          in: query\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: userId\n          in: query\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: type\n          in: query\n          description: >-\n            Filter by observation type (e.g., \"GENERATION\", \"SPAN\", \"EVENT\",\n            \"AGENT\", \"TOOL\", \"CHAIN\", \"RETRIEVER\", \"EVALUATOR\", \"EMBEDDING\",\n            \"GUARDRAIL\")\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: traceId\n          in: query\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: level\n          in: query\n          description: >-\n            Optional filter for observations with a specific level (e.g.\n            \"DEBUG\", \"DEFAULT\", \"WARNING\", \"ERROR\").\n          required: false\n          schema:\n            $ref: '#/components/schemas/ObservationLevel'\n            nullable: true\n        - name: parentObservationId\n          in: query\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: environment\n          in: query\n          description: >-\n            Optional filter for observations where the environment is one of the\n            provided values.\n          required: false\n          schema:\n            type: array\n            items:\n              type: string\n              nullable: true\n        - name: fromStartTime\n          in: query\n          description: >-\n            Retrieve only observations with a start_time on or after this\n            datetime (ISO 8601).\n          required: false\n          schema:\n            type: string\n            format: date-time\n            nullable: true\n        - name: toStartTime\n          in: query\n          description: >-\n            Retrieve only observations with a start_time before this datetime\n            (ISO 8601).\n          required: false\n          schema:\n            type: string\n            format: date-time\n            nullable: true\n        - name: version\n          in: query\n          description: Optional filter to only include observations with a certain version.\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: filter\n          in: query\n          description: >-\n            JSON string containing an array of filter conditions. When provided,\n            this takes precedence over query parameter filters (userId, name,\n            type, level, environment, fromStartTime, ...).\n\n\n            ## Filter Structure\n\n            Each filter condition has the following structure:\n\n            ```json\n\n            [\n              {\n                \"type\": string,           // Required. One of: \"datetime\", \"string\", \"number\", \"stringOptions\", \"categoryOptions\", \"arrayOptions\", \"stringObject\", \"numberObject\", \"boolean\", \"null\"\n                \"column\": string,         // Required. Column to filter on (see available columns below)\n                \"operator\": string,       // Required. Operator based on type:\n                                          // - datetime: \">\", \"<\", \">=\", \"<=\"\n                                          // - string: \"=\", \"contains\", \"does not contain\", \"starts with\", \"ends with\"\n                                          // - stringOptions: \"any of\", \"none of\"\n                                          // - categoryOptions: \"any of\", \"none of\"\n                                          // - arrayOptions: \"any of\", \"none of\", \"all of\"\n                                          // - number: \"=\", \">\", \"<\", \">=\", \"<=\"\n                                          // - stringObject: \"=\", \"contains\", \"does not contain\", \"starts with\", \"ends with\"\n                                          // - numberObject: \"=\", \">\", \"<\", \">=\", \"<=\"\n                                          // - boolean: \"=\", \"<>\"\n                                          // - null: \"is null\", \"is not null\"\n                \"value\": any,             // Required (except for null type). Value to compare against. Type depends on filter type\n                \"key\": string             // Required only for stringObject, numberObject, and categoryOptions types when filtering on nested fields like metadata\n              }\n            ]\n\n            ```\n\n\n            ## Available Columns\n\n\n            ### Core Observation Fields\n\n            - `id` (string) - Observation ID\n\n            - `type` (string) - Observation type (SPAN, GENERATION, EVENT)\n\n            - `name` (string) - Observation name\n\n            - `traceId` (string) - Associated trace ID\n\n            - `startTime` (datetime) - Observation start time\n\n            - `endTime` (datetime) - Observation end time\n\n            - `environment` (string) - Environment tag\n\n            - `level` (string) - Log level (DEBUG, DEFAULT, WARNING, ERROR)\n\n            - `statusMessage` (string) - Status message\n\n            - `version` (string) - Version tag\n\n            - `userId` (string) - User ID\n\n            - `sessionId` (string) - Session ID\n\n\n            ### Trace-Related Fields\n\n            - `traceName` (string) - Name of the parent trace\n\n            - `traceTags` (arrayOptions) - Tags from the parent trace\n\n            - `tags` (arrayOptions) - Alias for traceTags\n\n\n            ### Performance Metrics\n\n            - `latency` (number) - Latency in seconds (calculated: end_time -\n            start_time)\n\n            - `timeToFirstToken` (number) - Time to first token in seconds\n\n            - `tokensPerSecond` (number) - Output tokens per second\n\n\n            ### Token Usage\n\n            - `inputTokens` (number) - Number of input tokens\n\n            - `outputTokens` (number) - Number of output tokens\n\n            - `totalTokens` (number) - Total tokens (alias: `tokens`)\n\n\n            ### Cost Metrics\n\n            - `inputCost` (number) - Input cost in USD\n\n            - `outputCost` (number) - Output cost in USD\n\n            - `totalCost` (number) - Total cost in USD\n\n\n            ### Model Information\n\n            - `model` (string) - Provided model name (alias:\n            `providedModelName`)\n\n            - `promptName` (string) - Associated prompt name\n\n            - `promptVersion` (number) - Associated prompt version\n\n\n            ### Structured Data\n\n            - `metadata` (stringObject/numberObject/categoryOptions) - Metadata\n            key-value pairs. Use `key` parameter to filter on specific metadata\n            keys.\n\n\n            ## Filter Examples\n\n            ```json\n\n            [\n              {\n                \"type\": \"string\",\n                \"column\": \"type\",\n                \"operator\": \"=\",\n                \"value\": \"GENERATION\"\n              },\n              {\n                \"type\": \"number\",\n                \"column\": \"latency\",\n                \"operator\": \">=\",\n                \"value\": 2.5\n              },\n              {\n                \"type\": \"stringObject\",\n                \"column\": \"metadata\",\n                \"key\": \"environment\",\n                \"operator\": \"=\",\n                \"value\": \"production\"\n              }\n            ]\n\n            ```\n          required: false\n          schema:\n            type: string\n            nullable: true\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/ObservationsV2Response'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/observations/{observationId}:\n    get:\n      description: Get a observation\n      operationId: observations_get\n      tags:\n        - Observations\n      parameters:\n        - name: observationId\n          in: path\n          description: >-\n            The unique langfuse identifier of an observation, can be an event,\n            span or generation\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/ObservationsView'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/observations:\n    get:\n      description: >-\n        Get a list of observations.\n\n\n        Consider using the [v2 observations\n        endpoint](/api-reference#tag/observationsv2/GET/api/public/v2/observations)\n        for cursor-based pagination and field selection.\n      operationId: observations_getMany\n      tags:\n        - Observations\n      parameters:\n        - name: page\n          in: query\n          description: Page number, starts at 1.\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: limit\n          in: query\n          description: >-\n            Limit of items per page. If you encounter api issues due to too\n            large page sizes, try to reduce the limit.\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: name\n          in: query\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: userId\n          in: query\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: type\n          in: query\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: traceId\n          in: query\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: level\n          in: query\n          description: >-\n            Optional filter for observations with a specific level (e.g.\n            \"DEBUG\", \"DEFAULT\", \"WARNING\", \"ERROR\").\n          required: false\n          schema:\n            $ref: '#/components/schemas/ObservationLevel'\n            nullable: true\n        - name: parentObservationId\n          in: query\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: environment\n          in: query\n          description: >-\n            Optional filter for observations where the environment is one of the\n            provided values.\n          required: false\n          schema:\n            type: array\n            items:\n              type: string\n              nullable: true\n        - name: fromStartTime\n          in: query\n          description: >-\n            Retrieve only observations with a start_time on or after this\n            datetime (ISO 8601).\n          required: false\n          schema:\n            type: string\n            format: date-time\n            nullable: true\n        - name: toStartTime\n          in: query\n          description: >-\n            Retrieve only observations with a start_time before this datetime\n            (ISO 8601).\n          required: false\n          schema:\n            type: string\n            format: date-time\n            nullable: true\n        - name: version\n          in: query\n          description: Optional filter to only include observations with a certain version.\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: filter\n          in: query\n          description: >-\n            JSON string containing an array of filter conditions. When provided,\n            this takes precedence over query parameter filters (userId, name,\n            type, level, environment, fromStartTime, ...).\n\n\n            ## Filter Structure\n\n            Each filter condition has the following structure:\n\n            ```json\n\n            [\n              {\n                \"type\": string,           // Required. One of: \"datetime\", \"string\", \"number\", \"stringOptions\", \"categoryOptions\", \"arrayOptions\", \"stringObject\", \"numberObject\", \"boolean\", \"null\"\n                \"column\": string,         // Required. Column to filter on (see available columns below)\n                \"operator\": string,       // Required. Operator based on type:\n                                          // - datetime: \">\", \"<\", \">=\", \"<=\"\n                                          // - string: \"=\", \"contains\", \"does not contain\", \"starts with\", \"ends with\"\n                                          // - stringOptions: \"any of\", \"none of\"\n                                          // - categoryOptions: \"any of\", \"none of\"\n                                          // - arrayOptions: \"any of\", \"none of\", \"all of\"\n                                          // - number: \"=\", \">\", \"<\", \">=\", \"<=\"\n                                          // - stringObject: \"=\", \"contains\", \"does not contain\", \"starts with\", \"ends with\"\n                                          // - numberObject: \"=\", \">\", \"<\", \">=\", \"<=\"\n                                          // - boolean: \"=\", \"<>\"\n                                          // - null: \"is null\", \"is not null\"\n                \"value\": any,             // Required (except for null type). Value to compare against. Type depends on filter type\n                \"key\": string             // Required only for stringObject, numberObject, and categoryOptions types when filtering on nested fields like metadata\n              }\n            ]\n\n            ```\n\n\n            ## Available Columns\n\n\n            ### Core Observation Fields\n\n            - `id` (string) - Observation ID\n\n            - `type` (string) - Observation type (SPAN, GENERATION, EVENT)\n\n            - `name` (string) - Observation name\n\n            - `traceId` (string) - Associated trace ID\n\n            - `startTime` (datetime) - Observation start time\n\n            - `endTime` (datetime) - Observation end time\n\n            - `environment` (string) - Environment tag\n\n            - `level` (string) - Log level (DEBUG, DEFAULT, WARNING, ERROR)\n\n            - `statusMessage` (string) - Status message\n\n            - `version` (string) - Version tag\n\n\n            ### Performance Metrics\n\n            - `latency` (number) - Latency in seconds (calculated: end_time -\n            start_time)\n\n            - `timeToFirstToken` (number) - Time to first token in seconds\n\n            - `tokensPerSecond` (number) - Output tokens per second\n\n\n            ### Token Usage\n\n            - `inputTokens` (number) - Number of input tokens\n\n            - `outputTokens` (number) - Number of output tokens\n\n            - `totalTokens` (number) - Total tokens (alias: `tokens`)\n\n\n            ### Cost Metrics\n\n            - `inputCost` (number) - Input cost in USD\n\n            - `outputCost` (number) - Output cost in USD\n\n            - `totalCost` (number) - Total cost in USD\n\n\n            ### Model Information\n\n            - `model` (string) - Provided model name\n\n            - `promptName` (string) - Associated prompt name\n\n            - `promptVersion` (number) - Associated prompt version\n\n\n            ### Structured Data\n\n            - `metadata` (stringObject/numberObject/categoryOptions) - Metadata\n            key-value pairs. Use `key` parameter to filter on specific metadata\n            keys.\n\n\n            ### Associated Trace Fields (requires join with traces table)\n\n            - `userId` (string) - User ID from associated trace\n\n            - `traceName` (string) - Name from associated trace\n\n            - `traceEnvironment` (string) - Environment from associated trace\n\n            - `traceTags` (arrayOptions) - Tags from associated trace\n\n\n            ## Filter Examples\n\n            ```json\n\n            [\n              {\n                \"type\": \"string\",\n                \"column\": \"type\",\n                \"operator\": \"=\",\n                \"value\": \"GENERATION\"\n              },\n              {\n                \"type\": \"number\",\n                \"column\": \"latency\",\n                \"operator\": \">=\",\n                \"value\": 2.5\n              },\n              {\n                \"type\": \"stringObject\",\n                \"column\": \"metadata\",\n                \"key\": \"environment\",\n                \"operator\": \"=\",\n                \"value\": \"production\"\n              }\n            ]\n\n            ```\n          required: false\n          schema:\n            type: string\n            nullable: true\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/ObservationsViews'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/otel/v1/traces:\n    post:\n      description: >-\n        **OpenTelemetry Traces Ingestion Endpoint**\n\n\n        This endpoint implements the OTLP/HTTP specification for trace\n        ingestion, providing native OpenTelemetry integration for Langfuse\n        Observability.\n\n\n        **Supported Formats:**\n\n        - Binary Protobuf: `Content-Type: application/x-protobuf`\n\n        - JSON Protobuf: `Content-Type: application/json`\n\n        - Supports gzip compression via `Content-Encoding: gzip` header\n\n\n        **Specification Compliance:**\n\n        - Conforms to [OTLP/HTTP Trace\n        Export](https://opentelemetry.io/docs/specs/otlp/#otlphttp)\n\n        - Implements `ExportTraceServiceRequest` message format\n\n\n        **Documentation:**\n\n        - Integration guide:\n        https://langfuse.com/integrations/native/opentelemetry\n\n        - Data model: https://langfuse.com/docs/observability/data-model\n      operationId: opentelemetry_exportTraces\n      tags:\n        - Opentelemetry\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/OtelTraceResponse'\n              examples:\n                BasicTraceExport:\n                  value: {}\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                resourceSpans:\n                  type: array\n                  items:\n                    $ref: '#/components/schemas/OtelResourceSpan'\n                  description: >-\n                    Array of resource spans containing trace data as defined in\n                    the OTLP specification\n              required:\n                - resourceSpans\n            examples:\n              BasicTraceExport:\n                value:\n                  resourceSpans:\n                    - resource:\n                        attributes:\n                          - key: service.name\n                            value:\n                              stringValue: my-service\n                          - key: service.version\n                            value:\n                              stringValue: 1.0.0\n                      scopeSpans:\n                        - scope:\n                            name: langfuse-sdk\n                            version: 2.60.3\n                          spans:\n                            - traceId: 0123456789abcdef0123456789abcdef\n                              spanId: 0123456789abcdef\n                              name: my-operation\n                              kind: 1\n                              startTimeUnixNano: '1747872000000000000'\n                              endTimeUnixNano: '1747872001000000000'\n                              attributes:\n                                - key: langfuse.observation.type\n                                  value:\n                                    stringValue: generation\n                              status: {}\n  /api/public/organizations/memberships:\n    get:\n      description: >-\n        Get all memberships for the organization associated with the API key\n        (requires organization-scoped API key)\n      operationId: organizations_getOrganizationMemberships\n      tags:\n        - Organizations\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/MembershipsResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    put:\n      description: >-\n        Create or update a membership for the organization associated with the\n        API key (requires organization-scoped API key)\n      operationId: organizations_updateOrganizationMembership\n      tags:\n        - Organizations\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/MembershipResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/MembershipRequest'\n    delete:\n      description: >-\n        Delete a membership from the organization associated with the API key\n        (requires organization-scoped API key)\n      operationId: organizations_deleteOrganizationMembership\n      tags:\n        - Organizations\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/MembershipDeletionResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/DeleteMembershipRequest'\n  /api/public/projects/{projectId}/memberships:\n    get:\n      description: >-\n        Get all memberships for a specific project (requires organization-scoped\n        API key)\n      operationId: organizations_getProjectMemberships\n      tags:\n        - Organizations\n      parameters:\n        - name: projectId\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/MembershipsResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    put:\n      description: >-\n        Create or update a membership for a specific project (requires\n        organization-scoped API key). The user must already be a member of the\n        organization.\n      operationId: organizations_updateProjectMembership\n      tags:\n        - Organizations\n      parameters:\n        - name: projectId\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/MembershipResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/MembershipRequest'\n    delete:\n      description: >-\n        Delete a membership from a specific project (requires\n        organization-scoped API key). The user must be a member of the\n        organization.\n      operationId: organizations_deleteProjectMembership\n      tags:\n        - Organizations\n      parameters:\n        - name: projectId\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/MembershipDeletionResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/DeleteMembershipRequest'\n  /api/public/organizations/projects:\n    get:\n      description: >-\n        Get all projects for the organization associated with the API key\n        (requires organization-scoped API key)\n      operationId: organizations_getOrganizationProjects\n      tags:\n        - Organizations\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/OrganizationProjectsResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/organizations/apiKeys:\n    get:\n      description: >-\n        Get all API keys for the organization associated with the API key\n        (requires organization-scoped API key)\n      operationId: organizations_getOrganizationApiKeys\n      tags:\n        - Organizations\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/OrganizationApiKeysResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/projects:\n    get:\n      description: >-\n        Get Project associated with API key (requires project-scoped API key).\n        You can use GET /api/public/organizations/projects to get all projects\n        with an organization-scoped key.\n      operationId: projects_get\n      tags:\n        - Projects\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Projects'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    post:\n      description: Create a new project (requires organization-scoped API key)\n      operationId: projects_create\n      tags:\n        - Projects\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Project'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                name:\n                  type: string\n                metadata:\n                  type: object\n                  additionalProperties: true\n                  nullable: true\n                  description: Optional metadata for the project\n                retention:\n                  type: integer\n                  description: >-\n                    Number of days to retain data. Must be 0 or at least 3 days.\n                    Requires data-retention entitlement for non-zero values.\n                    Optional.\n              required:\n                - name\n                - retention\n  /api/public/projects/{projectId}:\n    put:\n      description: Update a project by ID (requires organization-scoped API key).\n      operationId: projects_update\n      tags:\n        - Projects\n      parameters:\n        - name: projectId\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Project'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                name:\n                  type: string\n                metadata:\n                  type: object\n                  additionalProperties: true\n                  nullable: true\n                  description: Optional metadata for the project\n                retention:\n                  type: integer\n                  nullable: true\n                  description: |-\n                    Number of days to retain data.\n                    Must be 0 or at least 3 days.\n                    Requires data-retention entitlement for non-zero values.\n                    Optional. Will retain existing retention setting if omitted.\n              required:\n                - name\n    delete:\n      description: >-\n        Delete a project by ID (requires organization-scoped API key). Project\n        deletion is processed asynchronously.\n      operationId: projects_delete\n      tags:\n        - Projects\n      parameters:\n        - name: projectId\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '202':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/ProjectDeletionResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/projects/{projectId}/apiKeys:\n    get:\n      description: Get all API keys for a project (requires organization-scoped API key)\n      operationId: projects_getApiKeys\n      tags:\n        - Projects\n      parameters:\n        - name: projectId\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/ApiKeyList'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    post:\n      description: >-\n        Create a new API key for a project (requires organization-scoped API\n        key)\n      operationId: projects_createApiKey\n      tags:\n        - Projects\n      parameters:\n        - name: projectId\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/ApiKeyResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                note:\n                  type: string\n                  nullable: true\n                  description: Optional note for the API key\n                publicKey:\n                  type: string\n                  nullable: true\n                  description: >-\n                    Optional predefined public key. Must start with 'pk-lf-'. If\n                    provided, secretKey must also be provided.\n                secretKey:\n                  type: string\n                  nullable: true\n                  description: >-\n                    Optional predefined secret key. Must start with 'sk-lf-'. If\n                    provided, publicKey must also be provided.\n  /api/public/projects/{projectId}/apiKeys/{apiKeyId}:\n    delete:\n      description: Delete an API key for a project (requires organization-scoped API key)\n      operationId: projects_deleteApiKey\n      tags:\n        - Projects\n      parameters:\n        - name: projectId\n          in: path\n          required: true\n          schema:\n            type: string\n        - name: apiKeyId\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/ApiKeyDeletionResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/v2/prompts/{name}/versions/{version}:\n    patch:\n      description: Update labels for a specific prompt version\n      operationId: promptVersion_update\n      tags:\n        - PromptVersion\n      parameters:\n        - name: name\n          in: path\n          description: >-\n            The name of the prompt. If the prompt is in a folder (e.g.,\n            \"folder/subfolder/prompt-name\"), \n\n            the folder path must be URL encoded.\n          required: true\n          schema:\n            type: string\n        - name: version\n          in: path\n          description: Version of the prompt to update\n          required: true\n          schema:\n            type: integer\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Prompt'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                newLabels:\n                  type: array\n                  items:\n                    type: string\n                  description: >-\n                    New labels for the prompt version. Labels are unique across\n                    versions. The \"latest\" label is reserved and managed by\n                    Langfuse.\n              required:\n                - newLabels\n  /api/public/v2/prompts/{promptName}:\n    get:\n      description: Get a prompt\n      operationId: prompts_get\n      tags:\n        - Prompts\n      parameters:\n        - name: promptName\n          in: path\n          description: >-\n            The name of the prompt. If the prompt is in a folder (e.g.,\n            \"folder/subfolder/prompt-name\"), \n\n            the folder path must be URL encoded.\n          required: true\n          schema:\n            type: string\n        - name: version\n          in: query\n          description: Version of the prompt to be retrieved.\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: label\n          in: query\n          description: >-\n            Label of the prompt to be retrieved. Defaults to \"production\" if no\n            label or version is set.\n          required: false\n          schema:\n            type: string\n            nullable: true\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Prompt'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    delete:\n      description: >-\n        Delete prompt versions. If neither version nor label is specified, all\n        versions of the prompt are deleted.\n      operationId: prompts_delete\n      tags:\n        - Prompts\n      parameters:\n        - name: promptName\n          in: path\n          description: The name of the prompt\n          required: true\n          schema:\n            type: string\n        - name: label\n          in: query\n          description: >-\n            Optional label to filter deletion. If specified, deletes all prompt\n            versions that have this label.\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: version\n          in: query\n          description: >-\n            Optional version to filter deletion. If specified, deletes only this\n            specific version of the prompt.\n          required: false\n          schema:\n            type: integer\n            nullable: true\n      responses:\n        '204':\n          description: ''\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/v2/prompts:\n    get:\n      description: Get a list of prompt names with versions and labels\n      operationId: prompts_list\n      tags:\n        - Prompts\n      parameters:\n        - name: name\n          in: query\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: label\n          in: query\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: tag\n          in: query\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: page\n          in: query\n          description: page number, starts at 1\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: limit\n          in: query\n          description: limit of items per page\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: fromUpdatedAt\n          in: query\n          description: >-\n            Optional filter to only include prompt versions created/updated on\n            or after a certain datetime (ISO 8601)\n          required: false\n          schema:\n            type: string\n            format: date-time\n            nullable: true\n        - name: toUpdatedAt\n          in: query\n          description: >-\n            Optional filter to only include prompt versions created/updated\n            before a certain datetime (ISO 8601)\n          required: false\n          schema:\n            type: string\n            format: date-time\n            nullable: true\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/PromptMetaListResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    post:\n      description: Create a new version for the prompt with the given `name`\n      operationId: prompts_create\n      tags:\n        - Prompts\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Prompt'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/CreatePromptRequest'\n  /api/public/scim/ServiceProviderConfig:\n    get:\n      description: >-\n        Get SCIM Service Provider Configuration (requires organization-scoped\n        API key)\n      operationId: scim_getServiceProviderConfig\n      tags:\n        - Scim\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/ServiceProviderConfig'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/scim/ResourceTypes:\n    get:\n      description: Get SCIM Resource Types (requires organization-scoped API key)\n      operationId: scim_getResourceTypes\n      tags:\n        - Scim\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/ResourceTypesResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/scim/Schemas:\n    get:\n      description: Get SCIM Schemas (requires organization-scoped API key)\n      operationId: scim_getSchemas\n      tags:\n        - Scim\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/SchemasResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/scim/Users:\n    get:\n      description: List users in the organization (requires organization-scoped API key)\n      operationId: scim_listUsers\n      tags:\n        - Scim\n      parameters:\n        - name: filter\n          in: query\n          description: Filter expression (e.g. userName eq \"value\")\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: startIndex\n          in: query\n          description: 1-based index of the first result to return (default 1)\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: count\n          in: query\n          description: Maximum number of results to return (default 100)\n          required: false\n          schema:\n            type: integer\n            nullable: true\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/ScimUsersListResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    post:\n      description: >-\n        Create a new user in the organization (requires organization-scoped API\n        key)\n      operationId: scim_createUser\n      tags:\n        - Scim\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/ScimUser'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                userName:\n                  type: string\n                  description: User's email address (required)\n                name:\n                  $ref: '#/components/schemas/ScimName'\n                  description: User's name information\n                emails:\n                  type: array\n                  items:\n                    $ref: '#/components/schemas/ScimEmail'\n                  nullable: true\n                  description: User's email addresses\n                active:\n                  type: boolean\n                  nullable: true\n                  description: Whether the user is active\n                password:\n                  type: string\n                  nullable: true\n                  description: Initial password for the user\n              required:\n                - userName\n                - name\n  /api/public/scim/Users/{userId}:\n    get:\n      description: Get a specific user by ID (requires organization-scoped API key)\n      operationId: scim_getUser\n      tags:\n        - Scim\n      parameters:\n        - name: userId\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/ScimUser'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    delete:\n      description: >-\n        Remove a user from the organization (requires organization-scoped API\n        key). Note that this only removes the user from the organization but\n        does not delete the user entity itself.\n      operationId: scim_deleteUser\n      tags:\n        - Scim\n      parameters:\n        - name: userId\n          in: path\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/EmptyResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/score-configs:\n    post:\n      description: >-\n        Create a score configuration (config). Score configs are used to define\n        the structure of scores\n      operationId: scoreConfigs_create\n      tags:\n        - ScoreConfigs\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/ScoreConfig'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/CreateScoreConfigRequest'\n    get:\n      description: Get all score configs\n      operationId: scoreConfigs_get\n      tags:\n        - ScoreConfigs\n      parameters:\n        - name: page\n          in: query\n          description: Page number, starts at 1.\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: limit\n          in: query\n          description: >-\n            Limit of items per page. If you encounter api issues due to too\n            large page sizes, try to reduce the limit\n          required: false\n          schema:\n            type: integer\n            nullable: true\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/ScoreConfigs'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/score-configs/{configId}:\n    get:\n      description: Get a score config\n      operationId: scoreConfigs_get-by-id\n      tags:\n        - ScoreConfigs\n      parameters:\n        - name: configId\n          in: path\n          description: The unique langfuse identifier of a score config\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/ScoreConfig'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    patch:\n      description: Update a score config\n      operationId: scoreConfigs_update\n      tags:\n        - ScoreConfigs\n      parameters:\n        - name: configId\n          in: path\n          description: The unique langfuse identifier of a score config\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/ScoreConfig'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/UpdateScoreConfigRequest'\n  /api/public/v2/scores:\n    get:\n      description: Get a list of scores (supports both trace and session scores)\n      operationId: scoreV2_get\n      tags:\n        - ScoreV2\n      parameters:\n        - name: page\n          in: query\n          description: Page number, starts at 1.\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: limit\n          in: query\n          description: >-\n            Limit of items per page. If you encounter api issues due to too\n            large page sizes, try to reduce the limit.\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: userId\n          in: query\n          description: Retrieve only scores with this userId associated to the trace.\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: name\n          in: query\n          description: Retrieve only scores with this name.\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: fromTimestamp\n          in: query\n          description: >-\n            Optional filter to only include scores created on or after a certain\n            datetime (ISO 8601)\n          required: false\n          schema:\n            type: string\n            format: date-time\n            nullable: true\n        - name: toTimestamp\n          in: query\n          description: >-\n            Optional filter to only include scores created before a certain\n            datetime (ISO 8601)\n          required: false\n          schema:\n            type: string\n            format: date-time\n            nullable: true\n        - name: environment\n          in: query\n          description: >-\n            Optional filter for scores where the environment is one of the\n            provided values.\n          required: false\n          schema:\n            type: array\n            items:\n              type: string\n              nullable: true\n        - name: source\n          in: query\n          description: Retrieve only scores from a specific source.\n          required: false\n          schema:\n            $ref: '#/components/schemas/ScoreSource'\n            nullable: true\n        - name: operator\n          in: query\n          description: Retrieve only scores with <operator> value.\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: value\n          in: query\n          description: Retrieve only scores with <operator> value.\n          required: false\n          schema:\n            type: number\n            format: double\n            nullable: true\n        - name: scoreIds\n          in: query\n          description: Comma-separated list of score IDs to limit the results to.\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: configId\n          in: query\n          description: Retrieve only scores with a specific configId.\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: sessionId\n          in: query\n          description: Retrieve only scores with a specific sessionId.\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: datasetRunId\n          in: query\n          description: Retrieve only scores with a specific datasetRunId.\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: traceId\n          in: query\n          description: Retrieve only scores with a specific traceId.\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: queueId\n          in: query\n          description: Retrieve only scores with a specific annotation queueId.\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: dataType\n          in: query\n          description: Retrieve only scores with a specific dataType.\n          required: false\n          schema:\n            $ref: '#/components/schemas/ScoreDataType'\n            nullable: true\n        - name: traceTags\n          in: query\n          description: >-\n            Only scores linked to traces that include all of these tags will be\n            returned.\n          required: false\n          schema:\n            type: array\n            items:\n              type: string\n              nullable: true\n        - name: fields\n          in: query\n          description: >-\n            Comma-separated list of field groups to include in the response.\n            Available field groups: 'score' (core score fields), 'trace' (trace\n            properties: userId, tags, environment). If not specified, both\n            'score' and 'trace' are returned by default. Example: 'score' to\n            exclude trace data, 'score,trace' to include both. Note: When\n            filtering by trace properties (using userId or traceTags\n            parameters), the 'trace' field group must be included, otherwise a\n            400 error will be returned.\n          required: false\n          schema:\n            type: string\n            nullable: true\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/GetScoresResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/v2/scores/{scoreId}:\n    get:\n      description: Get a score (supports both trace and session scores)\n      operationId: scoreV2_get-by-id\n      tags:\n        - ScoreV2\n      parameters:\n        - name: scoreId\n          in: path\n          description: The unique langfuse identifier of a score\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Score'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/scores:\n    post:\n      description: Create a score (supports both trace and session scores)\n      operationId: score_create\n      tags:\n        - Score\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/CreateScoreResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              $ref: '#/components/schemas/CreateScoreRequest'\n  /api/public/scores/{scoreId}:\n    delete:\n      description: Delete a score (supports both trace and session scores)\n      operationId: score_delete\n      tags:\n        - Score\n      parameters:\n        - name: scoreId\n          in: path\n          description: The unique langfuse identifier of a score\n          required: true\n          schema:\n            type: string\n      responses:\n        '204':\n          description: ''\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/sessions:\n    get:\n      description: Get sessions\n      operationId: sessions_list\n      tags:\n        - Sessions\n      parameters:\n        - name: page\n          in: query\n          description: Page number, starts at 1\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: limit\n          in: query\n          description: >-\n            Limit of items per page. If you encounter api issues due to too\n            large page sizes, try to reduce the limit.\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: fromTimestamp\n          in: query\n          description: >-\n            Optional filter to only include sessions created on or after a\n            certain datetime (ISO 8601)\n          required: false\n          schema:\n            type: string\n            format: date-time\n            nullable: true\n        - name: toTimestamp\n          in: query\n          description: >-\n            Optional filter to only include sessions created before a certain\n            datetime (ISO 8601)\n          required: false\n          schema:\n            type: string\n            format: date-time\n            nullable: true\n        - name: environment\n          in: query\n          description: >-\n            Optional filter for sessions where the environment is one of the\n            provided values.\n          required: false\n          schema:\n            type: array\n            items:\n              type: string\n              nullable: true\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/PaginatedSessions'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/sessions/{sessionId}:\n    get:\n      description: >-\n        Get a session. Please note that `traces` on this endpoint are not\n        paginated, if you plan to fetch large sessions, consider `GET\n        /api/public/traces?sessionId=<sessionId>`\n      operationId: sessions_get\n      tags:\n        - Sessions\n      parameters:\n        - name: sessionId\n          in: path\n          description: The unique id of a session\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/SessionWithTraces'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/traces/{traceId}:\n    get:\n      description: Get a specific trace\n      operationId: trace_get\n      tags:\n        - Trace\n      parameters:\n        - name: traceId\n          in: path\n          description: The unique langfuse identifier of a trace\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/TraceWithFullDetails'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    delete:\n      description: Delete a specific trace\n      operationId: trace_delete\n      tags:\n        - Trace\n      parameters:\n        - name: traceId\n          in: path\n          description: The unique langfuse identifier of the trace to delete\n          required: true\n          schema:\n            type: string\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/DeleteTraceResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n  /api/public/traces:\n    get:\n      description: Get list of traces\n      operationId: trace_list\n      tags:\n        - Trace\n      parameters:\n        - name: page\n          in: query\n          description: Page number, starts at 1\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: limit\n          in: query\n          description: >-\n            Limit of items per page. If you encounter api issues due to too\n            large page sizes, try to reduce the limit.\n          required: false\n          schema:\n            type: integer\n            nullable: true\n        - name: userId\n          in: query\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: name\n          in: query\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: sessionId\n          in: query\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: fromTimestamp\n          in: query\n          description: >-\n            Optional filter to only include traces with a trace.timestamp on or\n            after a certain datetime (ISO 8601)\n          required: false\n          schema:\n            type: string\n            format: date-time\n            nullable: true\n        - name: toTimestamp\n          in: query\n          description: >-\n            Optional filter to only include traces with a trace.timestamp before\n            a certain datetime (ISO 8601)\n          required: false\n          schema:\n            type: string\n            format: date-time\n            nullable: true\n        - name: orderBy\n          in: query\n          description: >-\n            Format of the string [field].[asc/desc]. Fields: id, timestamp,\n            name, userId, release, version, public, bookmarked, sessionId.\n            Example: timestamp.asc\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: tags\n          in: query\n          description: Only traces that include all of these tags will be returned.\n          required: false\n          schema:\n            type: array\n            items:\n              type: string\n              nullable: true\n        - name: version\n          in: query\n          description: Optional filter to only include traces with a certain version.\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: release\n          in: query\n          description: Optional filter to only include traces with a certain release.\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: environment\n          in: query\n          description: >-\n            Optional filter for traces where the environment is one of the\n            provided values.\n          required: false\n          schema:\n            type: array\n            items:\n              type: string\n              nullable: true\n        - name: fields\n          in: query\n          description: >-\n            Comma-separated list of fields to include in the response. Available\n            field groups: 'core' (always included), 'io' (input, output,\n            metadata), 'scores', 'observations', 'metrics'. If not specified,\n            all fields are returned. Example: 'core,scores,metrics'. Note:\n            Excluded 'observations' or 'scores' fields return empty arrays;\n            excluded 'metrics' returns -1 for 'totalCost' and 'latency'.\n          required: false\n          schema:\n            type: string\n            nullable: true\n        - name: filter\n          in: query\n          description: >-\n            JSON string containing an array of filter conditions. When provided,\n            this takes precedence over query parameter filters (userId, name,\n            sessionId, tags, version, release, environment, fromTimestamp,\n            toTimestamp).\n\n\n            ## Filter Structure\n\n            Each filter condition has the following structure:\n\n            ```json\n\n            [\n              {\n                \"type\": string,           // Required. One of: \"datetime\", \"string\", \"number\", \"stringOptions\", \"categoryOptions\", \"arrayOptions\", \"stringObject\", \"numberObject\", \"boolean\", \"null\"\n                \"column\": string,         // Required. Column to filter on (see available columns below)\n                \"operator\": string,       // Required. Operator based on type:\n                                          // - datetime: \">\", \"<\", \">=\", \"<=\"\n                                          // - string: \"=\", \"contains\", \"does not contain\", \"starts with\", \"ends with\"\n                                          // - stringOptions: \"any of\", \"none of\"\n                                          // - categoryOptions: \"any of\", \"none of\"\n                                          // - arrayOptions: \"any of\", \"none of\", \"all of\"\n                                          // - number: \"=\", \">\", \"<\", \">=\", \"<=\"\n                                          // - stringObject: \"=\", \"contains\", \"does not contain\", \"starts with\", \"ends with\"\n                                          // - numberObject: \"=\", \">\", \"<\", \">=\", \"<=\"\n                                          // - boolean: \"=\", \"<>\"\n                                          // - null: \"is null\", \"is not null\"\n                \"value\": any,             // Required (except for null type). Value to compare against. Type depends on filter type\n                \"key\": string             // Required only for stringObject, numberObject, and categoryOptions types when filtering on nested fields like metadata\n              }\n            ]\n\n            ```\n\n\n            ## Available Columns\n\n\n            ### Core Trace Fields\n\n            - `id` (string) - Trace ID\n\n            - `name` (string) - Trace name\n\n            - `timestamp` (datetime) - Trace timestamp\n\n            - `userId` (string) - User ID\n\n            - `sessionId` (string) - Session ID\n\n            - `environment` (string) - Environment tag\n\n            - `version` (string) - Version tag\n\n            - `release` (string) - Release tag\n\n            - `tags` (arrayOptions) - Array of tags\n\n            - `bookmarked` (boolean) - Bookmark status\n\n\n            ### Structured Data\n\n            - `metadata` (stringObject/numberObject/categoryOptions) - Metadata\n            key-value pairs. Use `key` parameter to filter on specific metadata\n            keys.\n\n\n            ### Aggregated Metrics (from observations)\n\n            These metrics are aggregated from all observations within the trace:\n\n            - `latency` (number) - Latency in seconds (time from first\n            observation start to last observation end)\n\n            - `inputTokens` (number) - Total input tokens across all\n            observations\n\n            - `outputTokens` (number) - Total output tokens across all\n            observations\n\n            - `totalTokens` (number) - Total tokens (alias: `tokens`)\n\n            - `inputCost` (number) - Total input cost in USD\n\n            - `outputCost` (number) - Total output cost in USD\n\n            - `totalCost` (number) - Total cost in USD\n\n\n            ### Observation Level Aggregations\n\n            These fields aggregate observation levels within the trace:\n\n            - `level` (string) - Highest severity level (ERROR > WARNING >\n            DEFAULT > DEBUG)\n\n            - `warningCount` (number) - Count of WARNING level observations\n\n            - `errorCount` (number) - Count of ERROR level observations\n\n            - `defaultCount` (number) - Count of DEFAULT level observations\n\n            - `debugCount` (number) - Count of DEBUG level observations\n\n\n            ### Scores (requires join with scores table)\n\n            - `scores_avg` (number) - Average of numeric scores (alias:\n            `scores`)\n\n            - `score_categories` (categoryOptions) - Categorical score values\n\n\n            ## Filter Examples\n\n            ```json\n\n            [\n              {\n                \"type\": \"datetime\",\n                \"column\": \"timestamp\",\n                \"operator\": \">=\",\n                \"value\": \"2024-01-01T00:00:00Z\"\n              },\n              {\n                \"type\": \"string\",\n                \"column\": \"userId\",\n                \"operator\": \"=\",\n                \"value\": \"user-123\"\n              },\n              {\n                \"type\": \"number\",\n                \"column\": \"totalCost\",\n                \"operator\": \">=\",\n                \"value\": 0.01\n              },\n              {\n                \"type\": \"arrayOptions\",\n                \"column\": \"tags\",\n                \"operator\": \"all of\",\n                \"value\": [\"production\", \"critical\"]\n              },\n              {\n                \"type\": \"stringObject\",\n                \"column\": \"metadata\",\n                \"key\": \"customer_tier\",\n                \"operator\": \"=\",\n                \"value\": \"enterprise\"\n              }\n            ]\n\n            ```\n\n\n            ## Performance Notes\n\n            - Filtering on `userId`, `sessionId`, or `metadata` may enable skip\n            indexes for better query performance\n\n            - Score filters require a join with the scores table and may impact\n            query performance\n          required: false\n          schema:\n            type: string\n            nullable: true\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/Traces'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n    delete:\n      description: Delete multiple traces\n      operationId: trace_deleteMultiple\n      tags:\n        - Trace\n      parameters: []\n      responses:\n        '200':\n          description: ''\n          content:\n            application/json:\n              schema:\n                $ref: '#/components/schemas/DeleteTraceResponse'\n        '400':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '401':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '403':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '404':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n        '405':\n          description: ''\n          content:\n            application/json:\n              schema: {}\n      security:\n        - BasicAuth: []\n      requestBody:\n        required: true\n        content:\n          application/json:\n            schema:\n              type: object\n              properties:\n                traceIds:\n                  type: array\n                  items:\n                    type: string\n                  description: List of trace IDs to delete\n              required:\n                - traceIds\ncomponents:\n  schemas:\n    AnnotationQueueStatus:\n      title: AnnotationQueueStatus\n      type: string\n      enum:\n        - PENDING\n        - COMPLETED\n    AnnotationQueueObjectType:\n      title: AnnotationQueueObjectType\n      type: string\n      enum:\n        - TRACE\n        - OBSERVATION\n        - SESSION\n    AnnotationQueue:\n      title: AnnotationQueue\n      type: object\n      properties:\n        id:\n          type: string\n        name:\n          type: string\n        description:\n          type: string\n          nullable: true\n        scoreConfigIds:\n          type: array\n          items:\n            type: string\n        createdAt:\n          type: string\n          format: date-time\n        updatedAt:\n          type: string\n          format: date-time\n      required:\n        - id\n        - name\n        - scoreConfigIds\n        - createdAt\n        - updatedAt\n    AnnotationQueueItem:\n      title: AnnotationQueueItem\n      type: object\n      properties:\n        id:\n          type: string\n        queueId:\n          type: string\n        objectId:\n          type: string\n        objectType:\n          $ref: '#/components/schemas/AnnotationQueueObjectType'\n        status:\n          $ref: '#/components/schemas/AnnotationQueueStatus'\n        completedAt:\n          type: string\n          format: date-time\n          nullable: true\n        createdAt:\n          type: string\n          format: date-time\n        updatedAt:\n          type: string\n          format: date-time\n      required:\n        - id\n        - queueId\n        - objectId\n        - objectType\n        - status\n        - createdAt\n        - updatedAt\n    PaginatedAnnotationQueues:\n      title: PaginatedAnnotationQueues\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            $ref: '#/components/schemas/AnnotationQueue'\n        meta:\n          $ref: '#/components/schemas/utilsMetaResponse'\n      required:\n        - data\n        - meta\n    PaginatedAnnotationQueueItems:\n      title: PaginatedAnnotationQueueItems\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            $ref: '#/components/schemas/AnnotationQueueItem'\n        meta:\n          $ref: '#/components/schemas/utilsMetaResponse'\n      required:\n        - data\n        - meta\n    CreateAnnotationQueueRequest:\n      title: CreateAnnotationQueueRequest\n      type: object\n      properties:\n        name:\n          type: string\n        description:\n          type: string\n          nullable: true\n        scoreConfigIds:\n          type: array\n          items:\n            type: string\n      required:\n        - name\n        - scoreConfigIds\n    CreateAnnotationQueueItemRequest:\n      title: CreateAnnotationQueueItemRequest\n      type: object\n      properties:\n        objectId:\n          type: string\n        objectType:\n          $ref: '#/components/schemas/AnnotationQueueObjectType'\n        status:\n          $ref: '#/components/schemas/AnnotationQueueStatus'\n          nullable: true\n          description: Defaults to PENDING for new queue items\n      required:\n        - objectId\n        - objectType\n    UpdateAnnotationQueueItemRequest:\n      title: UpdateAnnotationQueueItemRequest\n      type: object\n      properties:\n        status:\n          $ref: '#/components/schemas/AnnotationQueueStatus'\n          nullable: true\n    DeleteAnnotationQueueItemResponse:\n      title: DeleteAnnotationQueueItemResponse\n      type: object\n      properties:\n        success:\n          type: boolean\n        message:\n          type: string\n      required:\n        - success\n        - message\n    AnnotationQueueAssignmentRequest:\n      title: AnnotationQueueAssignmentRequest\n      type: object\n      properties:\n        userId:\n          type: string\n      required:\n        - userId\n    DeleteAnnotationQueueAssignmentResponse:\n      title: DeleteAnnotationQueueAssignmentResponse\n      type: object\n      properties:\n        success:\n          type: boolean\n      required:\n        - success\n    CreateAnnotationQueueAssignmentResponse:\n      title: CreateAnnotationQueueAssignmentResponse\n      type: object\n      properties:\n        userId:\n          type: string\n        queueId:\n          type: string\n        projectId:\n          type: string\n      required:\n        - userId\n        - queueId\n        - projectId\n    BlobStorageIntegrationType:\n      title: BlobStorageIntegrationType\n      type: string\n      enum:\n        - S3\n        - S3_COMPATIBLE\n        - AZURE_BLOB_STORAGE\n    BlobStorageIntegrationFileType:\n      title: BlobStorageIntegrationFileType\n      type: string\n      enum:\n        - JSON\n        - CSV\n        - JSONL\n    BlobStorageExportMode:\n      title: BlobStorageExportMode\n      type: string\n      enum:\n        - FULL_HISTORY\n        - FROM_TODAY\n        - FROM_CUSTOM_DATE\n    BlobStorageExportFrequency:\n      title: BlobStorageExportFrequency\n      type: string\n      enum:\n        - hourly\n        - daily\n        - weekly\n    CreateBlobStorageIntegrationRequest:\n      title: CreateBlobStorageIntegrationRequest\n      type: object\n      properties:\n        projectId:\n          type: string\n          description: ID of the project in which to configure the blob storage integration\n        type:\n          $ref: '#/components/schemas/BlobStorageIntegrationType'\n        bucketName:\n          type: string\n          description: Name of the storage bucket\n        endpoint:\n          type: string\n          nullable: true\n          description: Custom endpoint URL (required for S3_COMPATIBLE type)\n        region:\n          type: string\n          description: Storage region\n        accessKeyId:\n          type: string\n          nullable: true\n          description: Access key ID for authentication\n        secretAccessKey:\n          type: string\n          nullable: true\n          description: Secret access key for authentication (will be encrypted when stored)\n        prefix:\n          type: string\n          nullable: true\n          description: >-\n            Path prefix for exported files (must end with forward slash if\n            provided)\n        exportFrequency:\n          $ref: '#/components/schemas/BlobStorageExportFrequency'\n        enabled:\n          type: boolean\n          description: Whether the integration is active\n        forcePathStyle:\n          type: boolean\n          description: Use path-style URLs for S3 requests\n        fileType:\n          $ref: '#/components/schemas/BlobStorageIntegrationFileType'\n        exportMode:\n          $ref: '#/components/schemas/BlobStorageExportMode'\n        exportStartDate:\n          type: string\n          format: date-time\n          nullable: true\n          description: >-\n            Custom start date for exports (required when exportMode is\n            FROM_CUSTOM_DATE)\n      required:\n        - projectId\n        - type\n        - bucketName\n        - region\n        - exportFrequency\n        - enabled\n        - forcePathStyle\n        - fileType\n        - exportMode\n    BlobStorageIntegrationResponse:\n      title: BlobStorageIntegrationResponse\n      type: object\n      properties:\n        id:\n          type: string\n        projectId:\n          type: string\n        type:\n          $ref: '#/components/schemas/BlobStorageIntegrationType'\n        bucketName:\n          type: string\n        endpoint:\n          type: string\n          nullable: true\n        region:\n          type: string\n        accessKeyId:\n          type: string\n          nullable: true\n        prefix:\n          type: string\n        exportFrequency:\n          $ref: '#/components/schemas/BlobStorageExportFrequency'\n        enabled:\n          type: boolean\n        forcePathStyle:\n          type: boolean\n        fileType:\n          $ref: '#/components/schemas/BlobStorageIntegrationFileType'\n        exportMode:\n          $ref: '#/components/schemas/BlobStorageExportMode'\n        exportStartDate:\n          type: string\n          format: date-time\n          nullable: true\n        nextSyncAt:\n          type: string\n          format: date-time\n          nullable: true\n        lastSyncAt:\n          type: string\n          format: date-time\n          nullable: true\n        createdAt:\n          type: string\n          format: date-time\n        updatedAt:\n          type: string\n          format: date-time\n      required:\n        - id\n        - projectId\n        - type\n        - bucketName\n        - region\n        - prefix\n        - exportFrequency\n        - enabled\n        - forcePathStyle\n        - fileType\n        - exportMode\n        - createdAt\n        - updatedAt\n    BlobStorageIntegrationsResponse:\n      title: BlobStorageIntegrationsResponse\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            $ref: '#/components/schemas/BlobStorageIntegrationResponse'\n      required:\n        - data\n    BlobStorageIntegrationDeletionResponse:\n      title: BlobStorageIntegrationDeletionResponse\n      type: object\n      properties:\n        message:\n          type: string\n      required:\n        - message\n    CreateCommentRequest:\n      title: CreateCommentRequest\n      type: object\n      properties:\n        projectId:\n          type: string\n          description: The id of the project to attach the comment to.\n        objectType:\n          type: string\n          description: >-\n            The type of the object to attach the comment to (trace, observation,\n            session, prompt).\n        objectId:\n          type: string\n          description: >-\n            The id of the object to attach the comment to. If this does not\n            reference a valid existing object, an error will be thrown.\n        content:\n          type: string\n          description: >-\n            The content of the comment. May include markdown. Currently limited\n            to 5000 characters.\n        authorUserId:\n          type: string\n          nullable: true\n          description: The id of the user who created the comment.\n      required:\n        - projectId\n        - objectType\n        - objectId\n        - content\n    CreateCommentResponse:\n      title: CreateCommentResponse\n      type: object\n      properties:\n        id:\n          type: string\n          description: The id of the created object in Langfuse\n      required:\n        - id\n    GetCommentsResponse:\n      title: GetCommentsResponse\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            $ref: '#/components/schemas/Comment'\n        meta:\n          $ref: '#/components/schemas/utilsMetaResponse'\n      required:\n        - data\n        - meta\n    Trace:\n      title: Trace\n      type: object\n      properties:\n        id:\n          type: string\n          description: The unique identifier of a trace\n        timestamp:\n          type: string\n          format: date-time\n          description: The timestamp when the trace was created\n        name:\n          type: string\n          nullable: true\n          description: The name of the trace\n        input:\n          nullable: true\n          description: The input data of the trace. Can be any JSON.\n        output:\n          nullable: true\n          description: The output data of the trace. Can be any JSON.\n        sessionId:\n          type: string\n          nullable: true\n          description: The session identifier associated with the trace\n        release:\n          type: string\n          nullable: true\n          description: The release version of the application when the trace was created\n        version:\n          type: string\n          nullable: true\n          description: The version of the trace\n        userId:\n          type: string\n          nullable: true\n          description: The user identifier associated with the trace\n        metadata:\n          nullable: true\n          description: The metadata associated with the trace. Can be any JSON.\n        tags:\n          type: array\n          items:\n            type: string\n          description: The tags associated with the trace.\n        public:\n          type: boolean\n          description: Public traces are accessible via url without login\n        environment:\n          type: string\n          description: >-\n            The environment from which this trace originated. Can be any\n            lowercase alphanumeric string with hyphens and underscores that does\n            not start with 'langfuse'.\n      required:\n        - id\n        - timestamp\n        - tags\n        - public\n        - environment\n    TraceWithDetails:\n      title: TraceWithDetails\n      type: object\n      properties:\n        htmlPath:\n          type: string\n          description: Path of trace in Langfuse UI\n        latency:\n          type: number\n          format: double\n          nullable: true\n          description: Latency of trace in seconds\n        totalCost:\n          type: number\n          format: double\n          nullable: true\n          description: Cost of trace in USD\n        observations:\n          type: array\n          items:\n            type: string\n          nullable: true\n          description: List of observation ids\n        scores:\n          type: array\n          items:\n            type: string\n          nullable: true\n          description: List of score ids\n      required:\n        - htmlPath\n      allOf:\n        - $ref: '#/components/schemas/Trace'\n    TraceWithFullDetails:\n      title: TraceWithFullDetails\n      type: object\n      properties:\n        htmlPath:\n          type: string\n          description: Path of trace in Langfuse UI\n        latency:\n          type: number\n          format: double\n          nullable: true\n          description: Latency of trace in seconds\n        totalCost:\n          type: number\n          format: double\n          nullable: true\n          description: Cost of trace in USD\n        observations:\n          type: array\n          items:\n            $ref: '#/components/schemas/ObservationsView'\n          description: List of observations\n        scores:\n          type: array\n          items:\n            $ref: '#/components/schemas/ScoreV1'\n          description: List of scores\n      required:\n        - htmlPath\n        - observations\n        - scores\n      allOf:\n        - $ref: '#/components/schemas/Trace'\n    Session:\n      title: Session\n      type: object\n      properties:\n        id:\n          type: string\n        createdAt:\n          type: string\n          format: date-time\n        projectId:\n          type: string\n        environment:\n          type: string\n          description: The environment from which this session originated.\n      required:\n        - id\n        - createdAt\n        - projectId\n        - environment\n    SessionWithTraces:\n      title: SessionWithTraces\n      type: object\n      properties:\n        traces:\n          type: array\n          items:\n            $ref: '#/components/schemas/Trace'\n      required:\n        - traces\n      allOf:\n        - $ref: '#/components/schemas/Session'\n    Observation:\n      title: Observation\n      type: object\n      properties:\n        id:\n          type: string\n          description: The unique identifier of the observation\n        traceId:\n          type: string\n          nullable: true\n          description: The trace ID associated with the observation\n        type:\n          type: string\n          description: The type of the observation\n        name:\n          type: string\n          nullable: true\n          description: The name of the observation\n        startTime:\n          type: string\n          format: date-time\n          description: The start time of the observation\n        endTime:\n          type: string\n          format: date-time\n          nullable: true\n          description: The end time of the observation.\n        completionStartTime:\n          type: string\n          format: date-time\n          nullable: true\n          description: The completion start time of the observation\n        model:\n          type: string\n          nullable: true\n          description: The model used for the observation\n        modelParameters:\n          description: The parameters of the model used for the observation\n        input:\n          description: The input data of the observation\n        version:\n          type: string\n          nullable: true\n          description: The version of the observation\n        metadata:\n          description: Additional metadata of the observation\n        output:\n          description: The output data of the observation\n        usage:\n          $ref: '#/components/schemas/Usage'\n          description: >-\n            (Deprecated. Use usageDetails and costDetails instead.) The usage\n            data of the observation\n        level:\n          $ref: '#/components/schemas/ObservationLevel'\n          description: The level of the observation\n        statusMessage:\n          type: string\n          nullable: true\n          description: The status message of the observation\n        parentObservationId:\n          type: string\n          nullable: true\n          description: The parent observation ID\n        promptId:\n          type: string\n          nullable: true\n          description: The prompt ID associated with the observation\n        usageDetails:\n          type: object\n          additionalProperties:\n            type: integer\n          description: >-\n            The usage details of the observation. Key is the name of the usage\n            metric, value is the number of units consumed. The total key is the\n            sum of all (non-total) usage metrics or the total value ingested.\n        costDetails:\n          type: object\n          additionalProperties:\n            type: number\n            format: double\n          description: >-\n            The cost details of the observation. Key is the name of the cost\n            metric, value is the cost in USD. The total key is the sum of all\n            (non-total) cost metrics or the total value ingested.\n        environment:\n          type: string\n          description: >-\n            The environment from which this observation originated. Can be any\n            lowercase alphanumeric string with hyphens and underscores that does\n            not start with 'langfuse'.\n      required:\n        - id\n        - type\n        - startTime\n        - modelParameters\n        - input\n        - metadata\n        - output\n        - usage\n        - level\n        - usageDetails\n        - costDetails\n        - environment\n    ObservationsView:\n      title: ObservationsView\n      type: object\n      properties:\n        promptName:\n          type: string\n          nullable: true\n          description: The name of the prompt associated with the observation\n        promptVersion:\n          type: integer\n          nullable: true\n          description: The version of the prompt associated with the observation\n        modelId:\n          type: string\n          nullable: true\n          description: The unique identifier of the model\n        inputPrice:\n          type: number\n          format: double\n          nullable: true\n          description: The price of the input in USD\n        outputPrice:\n          type: number\n          format: double\n          nullable: true\n          description: The price of the output in USD.\n        totalPrice:\n          type: number\n          format: double\n          nullable: true\n          description: The total price in USD.\n        calculatedInputCost:\n          type: number\n          format: double\n          nullable: true\n          description: >-\n            (Deprecated. Use usageDetails and costDetails instead.) The\n            calculated cost of the input in USD\n        calculatedOutputCost:\n          type: number\n          format: double\n          nullable: true\n          description: >-\n            (Deprecated. Use usageDetails and costDetails instead.) The\n            calculated cost of the output in USD\n        calculatedTotalCost:\n          type: number\n          format: double\n          nullable: true\n          description: >-\n            (Deprecated. Use usageDetails and costDetails instead.) The\n            calculated total cost in USD\n        latency:\n          type: number\n          format: double\n          nullable: true\n          description: The latency in seconds.\n        timeToFirstToken:\n          type: number\n          format: double\n          nullable: true\n          description: The time to the first token in seconds\n      allOf:\n        - $ref: '#/components/schemas/Observation'\n    Usage:\n      title: Usage\n      type: object\n      description: >-\n        (Deprecated. Use usageDetails and costDetails instead.) Standard\n        interface for usage and cost\n      properties:\n        input:\n          type: integer\n          description: Number of input units (e.g. tokens)\n        output:\n          type: integer\n          description: Number of output units (e.g. tokens)\n        total:\n          type: integer\n          description: Defaults to input+output if not set\n        unit:\n          type: string\n          nullable: true\n          description: Unit of measurement\n        inputCost:\n          type: number\n          format: double\n          nullable: true\n          description: USD input cost\n        outputCost:\n          type: number\n          format: double\n          nullable: true\n          description: USD output cost\n        totalCost:\n          type: number\n          format: double\n          nullable: true\n          description: USD total cost, defaults to input+output\n      required:\n        - input\n        - output\n        - total\n    ScoreConfig:\n      title: ScoreConfig\n      type: object\n      description: Configuration for a score\n      properties:\n        id:\n          type: string\n        name:\n          type: string\n        createdAt:\n          type: string\n          format: date-time\n        updatedAt:\n          type: string\n          format: date-time\n        projectId:\n          type: string\n        dataType:\n          $ref: '#/components/schemas/ScoreConfigDataType'\n        isArchived:\n          type: boolean\n          description: Whether the score config is archived. Defaults to false\n        minValue:\n          type: number\n          format: double\n          nullable: true\n          description: >-\n            Sets minimum value for numerical scores. If not set, the minimum\n            value defaults to -∞\n        maxValue:\n          type: number\n          format: double\n          nullable: true\n          description: >-\n            Sets maximum value for numerical scores. If not set, the maximum\n            value defaults to +∞\n        categories:\n          type: array\n          items:\n            $ref: '#/components/schemas/ConfigCategory'\n          nullable: true\n          description: Configures custom categories for categorical scores\n        description:\n          type: string\n          nullable: true\n          description: Description of the score config\n      required:\n        - id\n        - name\n        - createdAt\n        - updatedAt\n        - projectId\n        - dataType\n        - isArchived\n    ConfigCategory:\n      title: ConfigCategory\n      type: object\n      properties:\n        value:\n          type: number\n          format: double\n        label:\n          type: string\n      required:\n        - value\n        - label\n    BaseScoreV1:\n      title: BaseScoreV1\n      type: object\n      properties:\n        id:\n          type: string\n        traceId:\n          type: string\n        name:\n          type: string\n        source:\n          $ref: '#/components/schemas/ScoreSource'\n        observationId:\n          type: string\n          nullable: true\n          description: The observation ID associated with the score\n        timestamp:\n          type: string\n          format: date-time\n        createdAt:\n          type: string\n          format: date-time\n        updatedAt:\n          type: string\n          format: date-time\n        authorUserId:\n          type: string\n          nullable: true\n          description: The user ID of the author\n        comment:\n          type: string\n          nullable: true\n          description: Comment on the score\n        metadata:\n          description: Metadata associated with the score\n        configId:\n          type: string\n          nullable: true\n          description: >-\n            Reference a score config on a score. When set, config and score name\n            must be equal and value must comply to optionally defined numerical\n            range\n        queueId:\n          type: string\n          nullable: true\n          description: >-\n            The annotation queue referenced by the score. Indicates if score was\n            initially created while processing annotation queue.\n        environment:\n          type: string\n          description: >-\n            The environment from which this score originated. Can be any\n            lowercase alphanumeric string with hyphens and underscores that does\n            not start with 'langfuse'.\n      required:\n        - id\n        - traceId\n        - name\n        - source\n        - timestamp\n        - createdAt\n        - updatedAt\n        - metadata\n        - environment\n    NumericScoreV1:\n      title: NumericScoreV1\n      type: object\n      properties:\n        value:\n          type: number\n          format: double\n          description: The numeric value of the score\n      required:\n        - value\n      allOf:\n        - $ref: '#/components/schemas/BaseScoreV1'\n    BooleanScoreV1:\n      title: BooleanScoreV1\n      type: object\n      properties:\n        value:\n          type: number\n          format: double\n          description: >-\n            The numeric value of the score. Equals 1 for \"True\" and 0 for\n            \"False\"\n        stringValue:\n          type: string\n          description: >-\n            The string representation of the score value. Is inferred from the\n            numeric value and equals \"True\" or \"False\"\n      required:\n        - value\n        - stringValue\n      allOf:\n        - $ref: '#/components/schemas/BaseScoreV1'\n    CategoricalScoreV1:\n      title: CategoricalScoreV1\n      type: object\n      properties:\n        value:\n          type: number\n          format: double\n          description: >-\n            Represents the numeric category mapping of the stringValue. If no\n            config is linked, defaults to 0.\n        stringValue:\n          type: string\n          description: >-\n            The string representation of the score value. If no config is\n            linked, can be any string. Otherwise, must map to a config category\n      required:\n        - value\n        - stringValue\n      allOf:\n        - $ref: '#/components/schemas/BaseScoreV1'\n    ScoreV1:\n      title: ScoreV1\n      oneOf:\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                dataType:\n                  type: string\n                  enum:\n                    - NUMERIC\n            - $ref: '#/components/schemas/NumericScoreV1'\n          required:\n            - dataType\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                dataType:\n                  type: string\n                  enum:\n                    - CATEGORICAL\n            - $ref: '#/components/schemas/CategoricalScoreV1'\n          required:\n            - dataType\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                dataType:\n                  type: string\n                  enum:\n                    - BOOLEAN\n            - $ref: '#/components/schemas/BooleanScoreV1'\n          required:\n            - dataType\n    BaseScore:\n      title: BaseScore\n      type: object\n      properties:\n        id:\n          type: string\n        traceId:\n          type: string\n          nullable: true\n          description: The trace ID associated with the score\n        sessionId:\n          type: string\n          nullable: true\n          description: The session ID associated with the score\n        observationId:\n          type: string\n          nullable: true\n          description: The observation ID associated with the score\n        datasetRunId:\n          type: string\n          nullable: true\n          description: The dataset run ID associated with the score\n        name:\n          type: string\n        source:\n          $ref: '#/components/schemas/ScoreSource'\n        timestamp:\n          type: string\n          format: date-time\n        createdAt:\n          type: string\n          format: date-time\n        updatedAt:\n          type: string\n          format: date-time\n        authorUserId:\n          type: string\n          nullable: true\n          description: The user ID of the author\n        comment:\n          type: string\n          nullable: true\n          description: Comment on the score\n        metadata:\n          description: Metadata associated with the score\n        configId:\n          type: string\n          nullable: true\n          description: >-\n            Reference a score config on a score. When set, config and score name\n            must be equal and value must comply to optionally defined numerical\n            range\n        queueId:\n          type: string\n          nullable: true\n          description: >-\n            The annotation queue referenced by the score. Indicates if score was\n            initially created while processing annotation queue.\n        environment:\n          type: string\n          description: >-\n            The environment from which this score originated. Can be any\n            lowercase alphanumeric string with hyphens and underscores that does\n            not start with 'langfuse'.\n      required:\n        - id\n        - name\n        - source\n        - timestamp\n        - createdAt\n        - updatedAt\n        - metadata\n        - environment\n    NumericScore:\n      title: NumericScore\n      type: object\n      properties:\n        value:\n          type: number\n          format: double\n          description: The numeric value of the score\n      required:\n        - value\n      allOf:\n        - $ref: '#/components/schemas/BaseScore'\n    BooleanScore:\n      title: BooleanScore\n      type: object\n      properties:\n        value:\n          type: number\n          format: double\n          description: >-\n            The numeric value of the score. Equals 1 for \"True\" and 0 for\n            \"False\"\n        stringValue:\n          type: string\n          description: >-\n            The string representation of the score value. Is inferred from the\n            numeric value and equals \"True\" or \"False\"\n      required:\n        - value\n        - stringValue\n      allOf:\n        - $ref: '#/components/schemas/BaseScore'\n    CategoricalScore:\n      title: CategoricalScore\n      type: object\n      properties:\n        value:\n          type: number\n          format: double\n          description: >-\n            Represents the numeric category mapping of the stringValue. If no\n            config is linked, defaults to 0.\n        stringValue:\n          type: string\n          description: >-\n            The string representation of the score value. If no config is\n            linked, can be any string. Otherwise, must map to a config category\n      required:\n        - value\n        - stringValue\n      allOf:\n        - $ref: '#/components/schemas/BaseScore'\n    CorrectionScore:\n      title: CorrectionScore\n      type: object\n      properties:\n        value:\n          type: number\n          format: double\n          description: The numeric value of the score. Always 0 for correction scores.\n        stringValue:\n          type: string\n          description: The string representation of the correction content\n      required:\n        - value\n        - stringValue\n      allOf:\n        - $ref: '#/components/schemas/BaseScore'\n    Score:\n      title: Score\n      oneOf:\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                dataType:\n                  type: string\n                  enum:\n                    - NUMERIC\n            - $ref: '#/components/schemas/NumericScore'\n          required:\n            - dataType\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                dataType:\n                  type: string\n                  enum:\n                    - CATEGORICAL\n            - $ref: '#/components/schemas/CategoricalScore'\n          required:\n            - dataType\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                dataType:\n                  type: string\n                  enum:\n                    - BOOLEAN\n            - $ref: '#/components/schemas/BooleanScore'\n          required:\n            - dataType\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                dataType:\n                  type: string\n                  enum:\n                    - CORRECTION\n            - $ref: '#/components/schemas/CorrectionScore'\n          required:\n            - dataType\n    CreateScoreValue:\n      title: CreateScoreValue\n      oneOf:\n        - type: number\n          format: double\n        - type: string\n      description: >-\n        The value of the score. Must be passed as string for categorical scores,\n        and numeric for boolean and numeric scores\n    Comment:\n      title: Comment\n      type: object\n      properties:\n        id:\n          type: string\n        projectId:\n          type: string\n        createdAt:\n          type: string\n          format: date-time\n        updatedAt:\n          type: string\n          format: date-time\n        objectType:\n          $ref: '#/components/schemas/CommentObjectType'\n        objectId:\n          type: string\n        content:\n          type: string\n        authorUserId:\n          type: string\n          nullable: true\n          description: The user ID of the comment author\n      required:\n        - id\n        - projectId\n        - createdAt\n        - updatedAt\n        - objectType\n        - objectId\n        - content\n    Dataset:\n      title: Dataset\n      type: object\n      properties:\n        id:\n          type: string\n        name:\n          type: string\n        description:\n          type: string\n          nullable: true\n          description: Description of the dataset\n        metadata:\n          description: Metadata associated with the dataset\n        inputSchema:\n          nullable: true\n          description: JSON Schema for validating dataset item inputs\n        expectedOutputSchema:\n          nullable: true\n          description: JSON Schema for validating dataset item expected outputs\n        projectId:\n          type: string\n        createdAt:\n          type: string\n          format: date-time\n        updatedAt:\n          type: string\n          format: date-time\n      required:\n        - id\n        - name\n        - metadata\n        - projectId\n        - createdAt\n        - updatedAt\n    DatasetItem:\n      title: DatasetItem\n      type: object\n      properties:\n        id:\n          type: string\n        status:\n          $ref: '#/components/schemas/DatasetStatus'\n        input:\n          description: Input data for the dataset item\n        expectedOutput:\n          description: Expected output for the dataset item\n        metadata:\n          description: Metadata associated with the dataset item\n        sourceTraceId:\n          type: string\n          nullable: true\n          description: The trace ID that sourced this dataset item\n        sourceObservationId:\n          type: string\n          nullable: true\n          description: The observation ID that sourced this dataset item\n        datasetId:\n          type: string\n        datasetName:\n          type: string\n        createdAt:\n          type: string\n          format: date-time\n        updatedAt:\n          type: string\n          format: date-time\n      required:\n        - id\n        - status\n        - input\n        - expectedOutput\n        - metadata\n        - datasetId\n        - datasetName\n        - createdAt\n        - updatedAt\n    DatasetRunItem:\n      title: DatasetRunItem\n      type: object\n      properties:\n        id:\n          type: string\n        datasetRunId:\n          type: string\n        datasetRunName:\n          type: string\n        datasetItemId:\n          type: string\n        traceId:\n          type: string\n        observationId:\n          type: string\n          nullable: true\n          description: The observation ID associated with this run item\n        createdAt:\n          type: string\n          format: date-time\n        updatedAt:\n          type: string\n          format: date-time\n      required:\n        - id\n        - datasetRunId\n        - datasetRunName\n        - datasetItemId\n        - traceId\n        - createdAt\n        - updatedAt\n    DatasetRun:\n      title: DatasetRun\n      type: object\n      properties:\n        id:\n          type: string\n          description: Unique identifier of the dataset run\n        name:\n          type: string\n          description: Name of the dataset run\n        description:\n          type: string\n          nullable: true\n          description: Description of the run\n        metadata:\n          description: Metadata of the dataset run\n        datasetId:\n          type: string\n          description: Id of the associated dataset\n        datasetName:\n          type: string\n          description: Name of the associated dataset\n        createdAt:\n          type: string\n          format: date-time\n          description: The date and time when the dataset run was created\n        updatedAt:\n          type: string\n          format: date-time\n          description: The date and time when the dataset run was last updated\n      required:\n        - id\n        - name\n        - metadata\n        - datasetId\n        - datasetName\n        - createdAt\n        - updatedAt\n    DatasetRunWithItems:\n      title: DatasetRunWithItems\n      type: object\n      properties:\n        datasetRunItems:\n          type: array\n          items:\n            $ref: '#/components/schemas/DatasetRunItem'\n      required:\n        - datasetRunItems\n      allOf:\n        - $ref: '#/components/schemas/DatasetRun'\n    Model:\n      title: Model\n      type: object\n      description: >-\n        Model definition used for transforming usage into USD cost and/or\n        tokenization.\n\n\n        Models can have either simple flat pricing or tiered pricing:\n\n        - Flat pricing: Single price per usage type (legacy, but still\n        supported)\n\n        - Tiered pricing: Multiple pricing tiers with conditional matching based\n        on usage patterns\n\n\n        The pricing tiers approach is recommended for models with usage-based\n        pricing variations.\n\n        When using tiered pricing, the flat price fields (inputPrice,\n        outputPrice, prices) are populated\n\n        from the default tier for backward compatibility.\n      properties:\n        id:\n          type: string\n        modelName:\n          type: string\n          description: >-\n            Name of the model definition. If multiple with the same name exist,\n            they are applied in the following order: (1) custom over built-in,\n            (2) newest according to startTime where\n            model.startTime<observation.startTime\n        matchPattern:\n          type: string\n          description: >-\n            Regex pattern which matches this model definition to\n            generation.model. Useful in case of fine-tuned models. If you want\n            to exact match, use `(?i)^modelname$`\n        startDate:\n          type: string\n          format: date-time\n          nullable: true\n          description: Apply only to generations which are newer than this ISO date.\n        unit:\n          $ref: '#/components/schemas/ModelUsageUnit'\n          nullable: true\n          description: Unit used by this model.\n        inputPrice:\n          type: number\n          format: double\n          nullable: true\n          description: Deprecated. See 'prices' instead. Price (USD) per input unit\n        outputPrice:\n          type: number\n          format: double\n          nullable: true\n          description: Deprecated. See 'prices' instead. Price (USD) per output unit\n        totalPrice:\n          type: number\n          format: double\n          nullable: true\n          description: >-\n            Deprecated. See 'prices' instead. Price (USD) per total unit. Cannot\n            be set if input or output price is set.\n        tokenizerId:\n          type: string\n          nullable: true\n          description: >-\n            Optional. Tokenizer to be applied to observations which match to\n            this model. See docs for more details.\n        tokenizerConfig:\n          description: >-\n            Optional. Configuration for the selected tokenizer. Needs to be\n            JSON. See docs for more details.\n        isLangfuseManaged:\n          type: boolean\n        createdAt:\n          type: string\n          format: date-time\n          description: Timestamp when the model was created\n        prices:\n          type: object\n          additionalProperties:\n            $ref: '#/components/schemas/ModelPrice'\n          description: >-\n            Deprecated. Use 'pricingTiers' instead for models with usage-based\n            pricing variations.\n\n\n            This field shows prices by usage type from the default pricing tier.\n            Maintained for backward compatibility.\n\n            If the model uses tiered pricing, this field will be populated from\n            the default tier's prices.\n        pricingTiers:\n          type: array\n          items:\n            $ref: '#/components/schemas/PricingTier'\n          description: >-\n            Array of pricing tiers with conditional pricing based on usage\n            thresholds.\n\n\n            Pricing tiers enable accurate cost tracking for models that charge\n            different rates based on usage patterns\n\n            (e.g., different rates for high-volume usage, large context windows,\n            or cached tokens).\n\n\n            Each model must have exactly one default tier (isDefault=true,\n            priority=0) that serves as a fallback.\n\n            Additional conditional tiers can be defined with specific matching\n            criteria.\n\n\n            If this array is empty, the model uses legacy flat pricing from the\n            inputPrice/outputPrice/totalPrice fields.\n      required:\n        - id\n        - modelName\n        - matchPattern\n        - tokenizerConfig\n        - isLangfuseManaged\n        - createdAt\n        - prices\n        - pricingTiers\n    ModelPrice:\n      title: ModelPrice\n      type: object\n      properties:\n        price:\n          type: number\n          format: double\n      required:\n        - price\n    PricingTierCondition:\n      title: PricingTierCondition\n      type: object\n      description: >-\n        Condition for matching a pricing tier based on usage details. Used to\n        implement tiered pricing models where costs vary based on usage\n        thresholds.\n\n\n        How it works:\n\n        1. The regex pattern matches against usage detail keys (e.g.,\n        \"input_tokens\", \"input_cached\")\n\n        2. Values of all matching keys are summed together\n\n        3. The sum is compared against the threshold value using the specified\n        operator\n\n        4. All conditions in a tier must be met (AND logic) for the tier to\n        match\n\n\n        Common use cases:\n\n        - Threshold-based pricing: Match when accumulated usage exceeds a\n        certain amount\n\n        - Usage-type-specific pricing: Different rates for cached vs non-cached\n        tokens, or input vs output\n\n        - Volume-based pricing: Different rates based on total request or token\n        count\n      properties:\n        usageDetailPattern:\n          type: string\n          description: >-\n            Regex pattern to match against usage detail keys. All matching keys'\n            values are summed for threshold comparison.\n\n\n            Examples:\n\n            - \"^input\" matches \"input\", \"input_tokens\", \"input_cached\", etc.\n\n            - \"^(input|prompt)\" matches both \"input_tokens\" and \"prompt_tokens\"\n\n            - \"_cache$\" matches \"input_cache\", \"output_cache\", etc.\n\n\n            The pattern is case-insensitive by default. If no keys match, the\n            sum is treated as zero.\n        operator:\n          $ref: '#/components/schemas/PricingTierOperator'\n          description: >-\n            Comparison operator to apply between the summed value and the\n            threshold.\n\n\n            - gt: greater than (sum > threshold)\n\n            - gte: greater than or equal (sum >= threshold)\n\n            - lt: less than (sum < threshold)\n\n            - lte: less than or equal (sum <= threshold)\n\n            - eq: equal (sum == threshold)\n\n            - neq: not equal (sum != threshold)\n        value:\n          type: number\n          format: double\n          description: >-\n            Threshold value for comparison. For token-based pricing, this is\n            typically the token count threshold (e.g., 200000 for a 200K token\n            threshold).\n        caseSensitive:\n          type: boolean\n          description: >-\n            Whether the regex pattern matching is case-sensitive. Default is\n            false (case-insensitive matching).\n      required:\n        - usageDetailPattern\n        - operator\n        - value\n        - caseSensitive\n    PricingTier:\n      title: PricingTier\n      type: object\n      description: >-\n        Pricing tier definition with conditional pricing based on usage\n        thresholds.\n\n\n        Pricing tiers enable accurate cost tracking for LLM providers that\n        charge different rates based on usage patterns.\n\n        For example, some providers charge higher rates when context size\n        exceeds certain thresholds.\n\n\n        How tier matching works:\n\n        1. Tiers are evaluated in ascending priority order (priority 1 before\n        priority 2, etc.)\n\n        2. The first tier where ALL conditions match is selected\n\n        3. If no conditional tiers match, the default tier is used as a fallback\n\n        4. The default tier has priority 0 and no conditions\n\n\n        Why priorities matter:\n\n        - Lower priority numbers are evaluated first, allowing you to define\n        specific cases before general ones\n\n        - Example: Priority 1 for \"high usage\" (>200K tokens), Priority 2 for\n        \"medium usage\" (>100K tokens), Priority 0 for default\n\n        - Without proper ordering, a less specific condition might match before\n        a more specific one\n\n\n        Every model must have exactly one default tier to ensure cost\n        calculation always succeeds.\n      properties:\n        id:\n          type: string\n          description: Unique identifier for the pricing tier\n        name:\n          type: string\n          description: >-\n            Name of the pricing tier for display and identification purposes.\n\n\n            Examples: \"Standard\", \"High Volume Tier\", \"Large Context\", \"Extended\n            Context Tier\"\n        isDefault:\n          type: boolean\n          description: >-\n            Whether this is the default tier. Every model must have exactly one\n            default tier with priority 0 and no conditions.\n\n\n            The default tier serves as a fallback when no conditional tiers\n            match, ensuring cost calculation always succeeds.\n\n            It typically represents the base pricing for standard usage\n            patterns.\n        priority:\n          type: integer\n          description: >-\n            Priority for tier matching evaluation. Lower numbers = higher\n            priority (evaluated first).\n\n\n            The default tier must always have priority 0. Conditional tiers\n            should have priority 1, 2, 3, etc.\n\n\n            Example ordering:\n\n            - Priority 0: Default tier (no conditions, always matches as\n            fallback)\n\n            - Priority 1: High usage tier (e.g., >200K tokens)\n\n            - Priority 2: Medium usage tier (e.g., >100K tokens)\n\n\n            This ensures more specific conditions are checked before general\n            ones.\n        conditions:\n          type: array\n          items:\n            $ref: '#/components/schemas/PricingTierCondition'\n          description: >-\n            Array of conditions that must ALL be met for this tier to match (AND\n            logic).\n\n\n            The default tier must have an empty conditions array. Conditional\n            tiers should have one or more conditions\n\n            that define when this tier's pricing applies.\n\n\n            Multiple conditions enable complex matching scenarios (e.g., \"high\n            input tokens AND low output tokens\").\n        prices:\n          type: object\n          additionalProperties:\n            type: number\n            format: double\n          description: >-\n            Prices (USD) by usage type for this tier.\n\n\n            Common usage types: \"input\", \"output\", \"total\", \"request\", \"image\"\n\n            Prices are specified in USD per unit (e.g., per token, per request,\n            per second).\n\n\n            Example: {\"input\": 0.000003, \"output\": 0.000015} means $3 per\n            million input tokens and $15 per million output tokens.\n      required:\n        - id\n        - name\n        - isDefault\n        - priority\n        - conditions\n        - prices\n    PricingTierInput:\n      title: PricingTierInput\n      type: object\n      description: >-\n        Input schema for creating a pricing tier. The tier ID will be\n        automatically generated server-side.\n\n\n        When creating a model with pricing tiers:\n\n        - Exactly one tier must have isDefault=true (the fallback tier)\n\n        - The default tier must have priority=0 and conditions=[]\n\n        - All tier names and priorities must be unique within the model\n\n        - Each tier must define at least one price\n\n\n        See PricingTier for detailed information about how tiers work and why\n        they're useful.\n      properties:\n        name:\n          type: string\n          description: >-\n            Name of the pricing tier for display and identification purposes.\n\n\n            Must be unique within the model. Common patterns: \"Standard\", \"High\n            Volume Tier\", \"Extended Context\"\n        isDefault:\n          type: boolean\n          description: >-\n            Whether this is the default tier. Exactly one tier per model must be\n            marked as default.\n\n\n            Requirements for default tier:\n\n            - Must have isDefault=true\n\n            - Must have priority=0\n\n            - Must have empty conditions array (conditions=[])\n\n\n            The default tier acts as a fallback when no conditional tiers match.\n        priority:\n          type: integer\n          description: >-\n            Priority for tier matching evaluation. Lower numbers = higher\n            priority (evaluated first).\n\n\n            Must be unique within the model. The default tier must have\n            priority=0.\n\n            Conditional tiers should use priority 1, 2, 3, etc. based on their\n            specificity.\n        conditions:\n          type: array\n          items:\n            $ref: '#/components/schemas/PricingTierCondition'\n          description: >-\n            Array of conditions that must ALL be met for this tier to match (AND\n            logic).\n\n\n            The default tier must have an empty array (conditions=[]).\n\n            Conditional tiers should define one or more conditions that specify\n            when this tier's pricing applies.\n\n\n            Each condition specifies a regex pattern, operator, and threshold\n            value for matching against usage details.\n        prices:\n          type: object\n          additionalProperties:\n            type: number\n            format: double\n          description: >-\n            Prices (USD) by usage type for this tier. At least one price must be\n            defined.\n\n\n            Common usage types: \"input\", \"output\", \"total\", \"request\", \"image\"\n\n            Prices are in USD per unit (e.g., per token).\n\n\n            Example: {\"input\": 0.000003, \"output\": 0.000015} represents $3 per\n            million input tokens and $15 per million output tokens.\n      required:\n        - name\n        - isDefault\n        - priority\n        - conditions\n        - prices\n    PricingTierOperator:\n      title: PricingTierOperator\n      type: string\n      enum:\n        - gt\n        - gte\n        - lt\n        - lte\n        - eq\n        - neq\n      description: Comparison operators for pricing tier conditions\n    ModelUsageUnit:\n      title: ModelUsageUnit\n      type: string\n      enum:\n        - CHARACTERS\n        - TOKENS\n        - MILLISECONDS\n        - SECONDS\n        - IMAGES\n        - REQUESTS\n      description: Unit of usage in Langfuse\n    ObservationLevel:\n      title: ObservationLevel\n      type: string\n      enum:\n        - DEBUG\n        - DEFAULT\n        - WARNING\n        - ERROR\n    MapValue:\n      title: MapValue\n      oneOf:\n        - type: string\n          nullable: true\n        - type: integer\n          nullable: true\n        - type: boolean\n          nullable: true\n        - type: array\n          items:\n            type: string\n          nullable: true\n    CommentObjectType:\n      title: CommentObjectType\n      type: string\n      enum:\n        - TRACE\n        - OBSERVATION\n        - SESSION\n        - PROMPT\n    DatasetStatus:\n      title: DatasetStatus\n      type: string\n      enum:\n        - ACTIVE\n        - ARCHIVED\n    ScoreSource:\n      title: ScoreSource\n      type: string\n      enum:\n        - ANNOTATION\n        - API\n        - EVAL\n    ScoreConfigDataType:\n      title: ScoreConfigDataType\n      type: string\n      enum:\n        - NUMERIC\n        - BOOLEAN\n        - CATEGORICAL\n    ScoreDataType:\n      title: ScoreDataType\n      type: string\n      enum:\n        - NUMERIC\n        - BOOLEAN\n        - CATEGORICAL\n        - CORRECTION\n    DeleteDatasetItemResponse:\n      title: DeleteDatasetItemResponse\n      type: object\n      properties:\n        message:\n          type: string\n          description: Success message after deletion\n      required:\n        - message\n    CreateDatasetItemRequest:\n      title: CreateDatasetItemRequest\n      type: object\n      properties:\n        datasetName:\n          type: string\n        input:\n          nullable: true\n        expectedOutput:\n          nullable: true\n        metadata:\n          nullable: true\n        sourceTraceId:\n          type: string\n          nullable: true\n        sourceObservationId:\n          type: string\n          nullable: true\n        id:\n          type: string\n          nullable: true\n          description: >-\n            Dataset items are upserted on their id. Id needs to be unique\n            (project-level) and cannot be reused across datasets.\n        status:\n          $ref: '#/components/schemas/DatasetStatus'\n          nullable: true\n          description: Defaults to ACTIVE for newly created items\n      required:\n        - datasetName\n    PaginatedDatasetItems:\n      title: PaginatedDatasetItems\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            $ref: '#/components/schemas/DatasetItem'\n        meta:\n          $ref: '#/components/schemas/utilsMetaResponse'\n      required:\n        - data\n        - meta\n    CreateDatasetRunItemRequest:\n      title: CreateDatasetRunItemRequest\n      type: object\n      properties:\n        runName:\n          type: string\n        runDescription:\n          type: string\n          nullable: true\n          description: Description of the run. If run exists, description will be updated.\n        metadata:\n          nullable: true\n          description: Metadata of the dataset run, updates run if run already exists\n        datasetItemId:\n          type: string\n        observationId:\n          type: string\n          nullable: true\n        traceId:\n          type: string\n          nullable: true\n          description: >-\n            traceId should always be provided. For compatibility with older SDK\n            versions it can also be inferred from the provided observationId.\n      required:\n        - runName\n        - datasetItemId\n    PaginatedDatasetRunItems:\n      title: PaginatedDatasetRunItems\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            $ref: '#/components/schemas/DatasetRunItem'\n        meta:\n          $ref: '#/components/schemas/utilsMetaResponse'\n      required:\n        - data\n        - meta\n    PaginatedDatasets:\n      title: PaginatedDatasets\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            $ref: '#/components/schemas/Dataset'\n        meta:\n          $ref: '#/components/schemas/utilsMetaResponse'\n      required:\n        - data\n        - meta\n    CreateDatasetRequest:\n      title: CreateDatasetRequest\n      type: object\n      properties:\n        name:\n          type: string\n        description:\n          type: string\n          nullable: true\n        metadata:\n          nullable: true\n        inputSchema:\n          nullable: true\n          description: >-\n            JSON Schema for validating dataset item inputs. When set, all new\n            and existing dataset items will be validated against this schema.\n        expectedOutputSchema:\n          nullable: true\n          description: >-\n            JSON Schema for validating dataset item expected outputs. When set,\n            all new and existing dataset items will be validated against this\n            schema.\n      required:\n        - name\n    PaginatedDatasetRuns:\n      title: PaginatedDatasetRuns\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            $ref: '#/components/schemas/DatasetRun'\n        meta:\n          $ref: '#/components/schemas/utilsMetaResponse'\n      required:\n        - data\n        - meta\n    DeleteDatasetRunResponse:\n      title: DeleteDatasetRunResponse\n      type: object\n      properties:\n        message:\n          type: string\n      required:\n        - message\n    HealthResponse:\n      title: HealthResponse\n      type: object\n      properties:\n        version:\n          type: string\n          description: Langfuse server version\n          example: 1.25.0\n        status:\n          type: string\n          example: OK\n      required:\n        - version\n        - status\n    IngestionEvent:\n      title: IngestionEvent\n      oneOf:\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - trace-create\n            - $ref: '#/components/schemas/TraceEvent'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - score-create\n            - $ref: '#/components/schemas/ScoreEvent'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - span-create\n            - $ref: '#/components/schemas/CreateSpanEvent'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - span-update\n            - $ref: '#/components/schemas/UpdateSpanEvent'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - generation-create\n            - $ref: '#/components/schemas/CreateGenerationEvent'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - generation-update\n            - $ref: '#/components/schemas/UpdateGenerationEvent'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - event-create\n            - $ref: '#/components/schemas/CreateEventEvent'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - sdk-log\n            - $ref: '#/components/schemas/SDKLogEvent'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - observation-create\n            - $ref: '#/components/schemas/CreateObservationEvent'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - observation-update\n            - $ref: '#/components/schemas/UpdateObservationEvent'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - agent-create\n            - $ref: '#/components/schemas/CreateAgentEvent'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - tool-create\n            - $ref: '#/components/schemas/CreateToolEvent'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - chain-create\n            - $ref: '#/components/schemas/CreateChainEvent'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - retriever-create\n            - $ref: '#/components/schemas/CreateRetrieverEvent'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - evaluator-create\n            - $ref: '#/components/schemas/CreateEvaluatorEvent'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - embedding-create\n            - $ref: '#/components/schemas/CreateEmbeddingEvent'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - guardrail-create\n            - $ref: '#/components/schemas/CreateGuardrailEvent'\n          required:\n            - type\n    ObservationType:\n      title: ObservationType\n      type: string\n      enum:\n        - SPAN\n        - GENERATION\n        - EVENT\n        - AGENT\n        - TOOL\n        - CHAIN\n        - RETRIEVER\n        - EVALUATOR\n        - EMBEDDING\n        - GUARDRAIL\n    IngestionUsage:\n      title: IngestionUsage\n      oneOf:\n        - $ref: '#/components/schemas/Usage'\n        - $ref: '#/components/schemas/OpenAIUsage'\n    OpenAIUsage:\n      title: OpenAIUsage\n      type: object\n      description: Usage interface of OpenAI for improved compatibility.\n      properties:\n        promptTokens:\n          type: integer\n          nullable: true\n        completionTokens:\n          type: integer\n          nullable: true\n        totalTokens:\n          type: integer\n          nullable: true\n    OptionalObservationBody:\n      title: OptionalObservationBody\n      type: object\n      properties:\n        traceId:\n          type: string\n          nullable: true\n        name:\n          type: string\n          nullable: true\n        startTime:\n          type: string\n          format: date-time\n          nullable: true\n        metadata:\n          nullable: true\n        input:\n          nullable: true\n        output:\n          nullable: true\n        level:\n          $ref: '#/components/schemas/ObservationLevel'\n          nullable: true\n        statusMessage:\n          type: string\n          nullable: true\n        parentObservationId:\n          type: string\n          nullable: true\n        version:\n          type: string\n          nullable: true\n        environment:\n          type: string\n          nullable: true\n    CreateEventBody:\n      title: CreateEventBody\n      type: object\n      properties:\n        id:\n          type: string\n          nullable: true\n      allOf:\n        - $ref: '#/components/schemas/OptionalObservationBody'\n    UpdateEventBody:\n      title: UpdateEventBody\n      type: object\n      properties:\n        id:\n          type: string\n      required:\n        - id\n      allOf:\n        - $ref: '#/components/schemas/OptionalObservationBody'\n    CreateSpanBody:\n      title: CreateSpanBody\n      type: object\n      properties:\n        endTime:\n          type: string\n          format: date-time\n          nullable: true\n      allOf:\n        - $ref: '#/components/schemas/CreateEventBody'\n    UpdateSpanBody:\n      title: UpdateSpanBody\n      type: object\n      properties:\n        endTime:\n          type: string\n          format: date-time\n          nullable: true\n      allOf:\n        - $ref: '#/components/schemas/UpdateEventBody'\n    CreateGenerationBody:\n      title: CreateGenerationBody\n      type: object\n      properties:\n        completionStartTime:\n          type: string\n          format: date-time\n          nullable: true\n        model:\n          type: string\n          nullable: true\n        modelParameters:\n          type: object\n          additionalProperties:\n            $ref: '#/components/schemas/MapValue'\n          nullable: true\n        usage:\n          $ref: '#/components/schemas/IngestionUsage'\n          nullable: true\n        usageDetails:\n          $ref: '#/components/schemas/UsageDetails'\n          nullable: true\n        costDetails:\n          type: object\n          additionalProperties:\n            type: number\n            format: double\n          nullable: true\n        promptName:\n          type: string\n          nullable: true\n        promptVersion:\n          type: integer\n          nullable: true\n      allOf:\n        - $ref: '#/components/schemas/CreateSpanBody'\n    UpdateGenerationBody:\n      title: UpdateGenerationBody\n      type: object\n      properties:\n        completionStartTime:\n          type: string\n          format: date-time\n          nullable: true\n        model:\n          type: string\n          nullable: true\n        modelParameters:\n          type: object\n          additionalProperties:\n            $ref: '#/components/schemas/MapValue'\n          nullable: true\n        usage:\n          $ref: '#/components/schemas/IngestionUsage'\n          nullable: true\n        promptName:\n          type: string\n          nullable: true\n        usageDetails:\n          $ref: '#/components/schemas/UsageDetails'\n          nullable: true\n        costDetails:\n          type: object\n          additionalProperties:\n            type: number\n            format: double\n          nullable: true\n        promptVersion:\n          type: integer\n          nullable: true\n      allOf:\n        - $ref: '#/components/schemas/UpdateSpanBody'\n    ObservationBody:\n      title: ObservationBody\n      type: object\n      properties:\n        id:\n          type: string\n          nullable: true\n        traceId:\n          type: string\n          nullable: true\n        type:\n          $ref: '#/components/schemas/ObservationType'\n        name:\n          type: string\n          nullable: true\n        startTime:\n          type: string\n          format: date-time\n          nullable: true\n        endTime:\n          type: string\n          format: date-time\n          nullable: true\n        completionStartTime:\n          type: string\n          format: date-time\n          nullable: true\n        model:\n          type: string\n          nullable: true\n        modelParameters:\n          type: object\n          additionalProperties:\n            $ref: '#/components/schemas/MapValue'\n          nullable: true\n        input:\n          nullable: true\n        version:\n          type: string\n          nullable: true\n        metadata:\n          nullable: true\n        output:\n          nullable: true\n        usage:\n          $ref: '#/components/schemas/Usage'\n          nullable: true\n        level:\n          $ref: '#/components/schemas/ObservationLevel'\n          nullable: true\n        statusMessage:\n          type: string\n          nullable: true\n        parentObservationId:\n          type: string\n          nullable: true\n        environment:\n          type: string\n          nullable: true\n      required:\n        - type\n    TraceBody:\n      title: TraceBody\n      type: object\n      properties:\n        id:\n          type: string\n          nullable: true\n        timestamp:\n          type: string\n          format: date-time\n          nullable: true\n        name:\n          type: string\n          nullable: true\n        userId:\n          type: string\n          nullable: true\n        input:\n          nullable: true\n        output:\n          nullable: true\n        sessionId:\n          type: string\n          nullable: true\n        release:\n          type: string\n          nullable: true\n        version:\n          type: string\n          nullable: true\n        metadata:\n          nullable: true\n        tags:\n          type: array\n          items:\n            type: string\n          nullable: true\n        environment:\n          type: string\n          nullable: true\n        public:\n          type: boolean\n          nullable: true\n          description: Make trace publicly accessible via url\n    SDKLogBody:\n      title: SDKLogBody\n      type: object\n      properties:\n        log: {}\n      required:\n        - log\n    ScoreBody:\n      title: ScoreBody\n      type: object\n      properties:\n        id:\n          type: string\n          nullable: true\n        traceId:\n          type: string\n          nullable: true\n        sessionId:\n          type: string\n          nullable: true\n        observationId:\n          type: string\n          nullable: true\n        datasetRunId:\n          type: string\n          nullable: true\n        name:\n          type: string\n          description: >-\n            The name of the score. Always overrides \"output\" for correction\n            scores.\n          example: novelty\n        environment:\n          type: string\n          nullable: true\n        queueId:\n          type: string\n          nullable: true\n          description: >-\n            The annotation queue referenced by the score. Indicates if score was\n            initially created while processing annotation queue.\n        value:\n          $ref: '#/components/schemas/CreateScoreValue'\n          description: >-\n            The value of the score. Must be passed as string for categorical\n            scores, and numeric for boolean and numeric scores. Boolean score\n            values must equal either 1 or 0 (true or false)\n        comment:\n          type: string\n          nullable: true\n        metadata:\n          nullable: true\n        dataType:\n          $ref: '#/components/schemas/ScoreDataType'\n          nullable: true\n          description: >-\n            When set, must match the score value's type. If not set, will be\n            inferred from the score value or config\n        configId:\n          type: string\n          nullable: true\n          description: >-\n            Reference a score config on a score. When set, the score name must\n            equal the config name and scores must comply with the config's range\n            and data type. For categorical scores, the value must map to a\n            config category. Numeric scores might be constrained by the score\n            config's max and min values\n      required:\n        - name\n        - value\n    BaseEvent:\n      title: BaseEvent\n      type: object\n      properties:\n        id:\n          type: string\n          description: UUID v4 that identifies the event\n        timestamp:\n          type: string\n          description: >-\n            Datetime (ISO 8601) of event creation in client. Should be as close\n            to actual event creation in client as possible, this timestamp will\n            be used for ordering of events in future release. Resolution:\n            milliseconds (required), microseconds (optimal).\n        metadata:\n          nullable: true\n          description: Optional. Metadata field used by the Langfuse SDKs for debugging.\n      required:\n        - id\n        - timestamp\n    TraceEvent:\n      title: TraceEvent\n      type: object\n      properties:\n        body:\n          $ref: '#/components/schemas/TraceBody'\n      required:\n        - body\n      allOf:\n        - $ref: '#/components/schemas/BaseEvent'\n    CreateObservationEvent:\n      title: CreateObservationEvent\n      type: object\n      properties:\n        body:\n          $ref: '#/components/schemas/ObservationBody'\n      required:\n        - body\n      allOf:\n        - $ref: '#/components/schemas/BaseEvent'\n    UpdateObservationEvent:\n      title: UpdateObservationEvent\n      type: object\n      properties:\n        body:\n          $ref: '#/components/schemas/ObservationBody'\n      required:\n        - body\n      allOf:\n        - $ref: '#/components/schemas/BaseEvent'\n    ScoreEvent:\n      title: ScoreEvent\n      type: object\n      properties:\n        body:\n          $ref: '#/components/schemas/ScoreBody'\n      required:\n        - body\n      allOf:\n        - $ref: '#/components/schemas/BaseEvent'\n    SDKLogEvent:\n      title: SDKLogEvent\n      type: object\n      properties:\n        body:\n          $ref: '#/components/schemas/SDKLogBody'\n      required:\n        - body\n      allOf:\n        - $ref: '#/components/schemas/BaseEvent'\n    CreateGenerationEvent:\n      title: CreateGenerationEvent\n      type: object\n      properties:\n        body:\n          $ref: '#/components/schemas/CreateGenerationBody'\n      required:\n        - body\n      allOf:\n        - $ref: '#/components/schemas/BaseEvent'\n    UpdateGenerationEvent:\n      title: UpdateGenerationEvent\n      type: object\n      properties:\n        body:\n          $ref: '#/components/schemas/UpdateGenerationBody'\n      required:\n        - body\n      allOf:\n        - $ref: '#/components/schemas/BaseEvent'\n    CreateSpanEvent:\n      title: CreateSpanEvent\n      type: object\n      properties:\n        body:\n          $ref: '#/components/schemas/CreateSpanBody'\n      required:\n        - body\n      allOf:\n        - $ref: '#/components/schemas/BaseEvent'\n    UpdateSpanEvent:\n      title: UpdateSpanEvent\n      type: object\n      properties:\n        body:\n          $ref: '#/components/schemas/UpdateSpanBody'\n      required:\n        - body\n      allOf:\n        - $ref: '#/components/schemas/BaseEvent'\n    CreateEventEvent:\n      title: CreateEventEvent\n      type: object\n      properties:\n        body:\n          $ref: '#/components/schemas/CreateEventBody'\n      required:\n        - body\n      allOf:\n        - $ref: '#/components/schemas/BaseEvent'\n    CreateAgentEvent:\n      title: CreateAgentEvent\n      type: object\n      properties:\n        body:\n          $ref: '#/components/schemas/CreateGenerationBody'\n      required:\n        - body\n      allOf:\n        - $ref: '#/components/schemas/BaseEvent'\n    CreateToolEvent:\n      title: CreateToolEvent\n      type: object\n      properties:\n        body:\n          $ref: '#/components/schemas/CreateGenerationBody'\n      required:\n        - body\n      allOf:\n        - $ref: '#/components/schemas/BaseEvent'\n    CreateChainEvent:\n      title: CreateChainEvent\n      type: object\n      properties:\n        body:\n          $ref: '#/components/schemas/CreateGenerationBody'\n      required:\n        - body\n      allOf:\n        - $ref: '#/components/schemas/BaseEvent'\n    CreateRetrieverEvent:\n      title: CreateRetrieverEvent\n      type: object\n      properties:\n        body:\n          $ref: '#/components/schemas/CreateGenerationBody'\n      required:\n        - body\n      allOf:\n        - $ref: '#/components/schemas/BaseEvent'\n    CreateEvaluatorEvent:\n      title: CreateEvaluatorEvent\n      type: object\n      properties:\n        body:\n          $ref: '#/components/schemas/CreateGenerationBody'\n      required:\n        - body\n      allOf:\n        - $ref: '#/components/schemas/BaseEvent'\n    CreateEmbeddingEvent:\n      title: CreateEmbeddingEvent\n      type: object\n      properties:\n        body:\n          $ref: '#/components/schemas/CreateGenerationBody'\n      required:\n        - body\n      allOf:\n        - $ref: '#/components/schemas/BaseEvent'\n    CreateGuardrailEvent:\n      title: CreateGuardrailEvent\n      type: object\n      properties:\n        body:\n          $ref: '#/components/schemas/CreateGenerationBody'\n      required:\n        - body\n      allOf:\n        - $ref: '#/components/schemas/BaseEvent'\n    IngestionSuccess:\n      title: IngestionSuccess\n      type: object\n      properties:\n        id:\n          type: string\n        status:\n          type: integer\n      required:\n        - id\n        - status\n    IngestionError:\n      title: IngestionError\n      type: object\n      properties:\n        id:\n          type: string\n        status:\n          type: integer\n        message:\n          type: string\n          nullable: true\n        error:\n          nullable: true\n      required:\n        - id\n        - status\n    IngestionResponse:\n      title: IngestionResponse\n      type: object\n      properties:\n        successes:\n          type: array\n          items:\n            $ref: '#/components/schemas/IngestionSuccess'\n        errors:\n          type: array\n          items:\n            $ref: '#/components/schemas/IngestionError'\n      required:\n        - successes\n        - errors\n    OpenAICompletionUsageSchema:\n      title: OpenAICompletionUsageSchema\n      type: object\n      description: OpenAI Usage schema from (Chat-)Completion APIs\n      properties:\n        prompt_tokens:\n          type: integer\n        completion_tokens:\n          type: integer\n        total_tokens:\n          type: integer\n        prompt_tokens_details:\n          type: object\n          additionalProperties:\n            type: integer\n            nullable: true\n          nullable: true\n        completion_tokens_details:\n          type: object\n          additionalProperties:\n            type: integer\n            nullable: true\n          nullable: true\n      required:\n        - prompt_tokens\n        - completion_tokens\n        - total_tokens\n    OpenAIResponseUsageSchema:\n      title: OpenAIResponseUsageSchema\n      type: object\n      description: OpenAI Usage schema from Response API\n      properties:\n        input_tokens:\n          type: integer\n        output_tokens:\n          type: integer\n        total_tokens:\n          type: integer\n        input_tokens_details:\n          type: object\n          additionalProperties:\n            type: integer\n            nullable: true\n          nullable: true\n        output_tokens_details:\n          type: object\n          additionalProperties:\n            type: integer\n            nullable: true\n          nullable: true\n      required:\n        - input_tokens\n        - output_tokens\n        - total_tokens\n    UsageDetails:\n      title: UsageDetails\n      oneOf:\n        - type: object\n          additionalProperties:\n            type: integer\n        - $ref: '#/components/schemas/OpenAICompletionUsageSchema'\n        - $ref: '#/components/schemas/OpenAIResponseUsageSchema'\n    LlmConnection:\n      title: LlmConnection\n      type: object\n      description: LLM API connection configuration (secrets excluded)\n      properties:\n        id:\n          type: string\n        provider:\n          type: string\n          description: >-\n            Provider name (e.g., 'openai', 'my-gateway'). Must be unique in\n            project, used for upserting.\n        adapter:\n          type: string\n          description: The adapter used to interface with the LLM\n        displaySecretKey:\n          type: string\n          description: Masked version of the secret key for display purposes\n        baseURL:\n          type: string\n          nullable: true\n          description: Custom base URL for the LLM API\n        customModels:\n          type: array\n          items:\n            type: string\n          description: List of custom model names available for this connection\n        withDefaultModels:\n          type: boolean\n          description: Whether to include default models for this adapter\n        extraHeaderKeys:\n          type: array\n          items:\n            type: string\n          description: >-\n            Keys of extra headers sent with requests (values excluded for\n            security)\n        config:\n          type: object\n          additionalProperties: true\n          nullable: true\n          description: >-\n            Adapter-specific configuration. Required for Bedrock\n            (`{\"region\":\"us-east-1\"}`), optional for VertexAI\n            (`{\"location\":\"us-central1\"}`), not used by other adapters.\n        createdAt:\n          type: string\n          format: date-time\n        updatedAt:\n          type: string\n          format: date-time\n      required:\n        - id\n        - provider\n        - adapter\n        - displaySecretKey\n        - customModels\n        - withDefaultModels\n        - extraHeaderKeys\n        - createdAt\n        - updatedAt\n    PaginatedLlmConnections:\n      title: PaginatedLlmConnections\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            $ref: '#/components/schemas/LlmConnection'\n        meta:\n          $ref: '#/components/schemas/utilsMetaResponse'\n      required:\n        - data\n        - meta\n    UpsertLlmConnectionRequest:\n      title: UpsertLlmConnectionRequest\n      type: object\n      description: Request to create or update an LLM connection (upsert)\n      properties:\n        provider:\n          type: string\n          description: >-\n            Provider name (e.g., 'openai', 'my-gateway'). Must be unique in\n            project, used for upserting.\n        adapter:\n          $ref: '#/components/schemas/LlmAdapter'\n          description: The adapter used to interface with the LLM\n        secretKey:\n          type: string\n          description: Secret key for the LLM API.\n        baseURL:\n          type: string\n          nullable: true\n          description: Custom base URL for the LLM API\n        customModels:\n          type: array\n          items:\n            type: string\n          nullable: true\n          description: List of custom model names\n        withDefaultModels:\n          type: boolean\n          nullable: true\n          description: Whether to include default models. Default is true.\n        extraHeaders:\n          type: object\n          additionalProperties:\n            type: string\n          nullable: true\n          description: Extra headers to send with requests\n        config:\n          type: object\n          additionalProperties: true\n          nullable: true\n          description: >-\n            Adapter-specific configuration. Validation rules: - **Bedrock**:\n            Required. Must be `{\"region\": \"<aws-region>\"}` (e.g.,\n            `{\"region\":\"us-east-1\"}`) - **VertexAI**: Optional. If provided,\n            must be `{\"location\": \"<gcp-location>\"}` (e.g.,\n            `{\"location\":\"us-central1\"}`) - **Other adapters**: Not supported.\n            Omit this field or set to null.\n      required:\n        - provider\n        - adapter\n        - secretKey\n    LlmAdapter:\n      title: LlmAdapter\n      type: string\n      enum:\n        - anthropic\n        - openai\n        - azure\n        - bedrock\n        - google-vertex-ai\n        - google-ai-studio\n    GetMediaResponse:\n      title: GetMediaResponse\n      type: object\n      properties:\n        mediaId:\n          type: string\n          description: The unique langfuse identifier of a media record\n        contentType:\n          type: string\n          description: The MIME type of the media record\n        contentLength:\n          type: integer\n          description: The size of the media record in bytes\n        uploadedAt:\n          type: string\n          format: date-time\n          description: The date and time when the media record was uploaded\n        url:\n          type: string\n          description: The download URL of the media record\n        urlExpiry:\n          type: string\n          description: The expiry date and time of the media record download URL\n      required:\n        - mediaId\n        - contentType\n        - contentLength\n        - uploadedAt\n        - url\n        - urlExpiry\n    PatchMediaBody:\n      title: PatchMediaBody\n      type: object\n      properties:\n        uploadedAt:\n          type: string\n          format: date-time\n          description: The date and time when the media record was uploaded\n        uploadHttpStatus:\n          type: integer\n          description: The HTTP status code of the upload\n        uploadHttpError:\n          type: string\n          nullable: true\n          description: The HTTP error message of the upload\n        uploadTimeMs:\n          type: integer\n          nullable: true\n          description: The time in milliseconds it took to upload the media record\n      required:\n        - uploadedAt\n        - uploadHttpStatus\n    GetMediaUploadUrlRequest:\n      title: GetMediaUploadUrlRequest\n      type: object\n      properties:\n        traceId:\n          type: string\n          description: The trace ID associated with the media record\n        observationId:\n          type: string\n          nullable: true\n          description: >-\n            The observation ID associated with the media record. If the media\n            record is associated directly with a trace, this will be null.\n        contentType:\n          $ref: '#/components/schemas/MediaContentType'\n        contentLength:\n          type: integer\n          description: The size of the media record in bytes\n        sha256Hash:\n          type: string\n          description: The SHA-256 hash of the media record\n        field:\n          type: string\n          description: >-\n            The trace / observation field the media record is associated with.\n            This can be one of `input`, `output`, `metadata`\n      required:\n        - traceId\n        - contentType\n        - contentLength\n        - sha256Hash\n        - field\n    GetMediaUploadUrlResponse:\n      title: GetMediaUploadUrlResponse\n      type: object\n      properties:\n        uploadUrl:\n          type: string\n          nullable: true\n          description: >-\n            The presigned upload URL. If the asset is already uploaded, this\n            will be null\n        mediaId:\n          type: string\n          description: The unique langfuse identifier of a media record\n      required:\n        - mediaId\n    MediaContentType:\n      title: MediaContentType\n      type: string\n      enum:\n        - image/png\n        - image/jpeg\n        - image/jpg\n        - image/webp\n        - image/gif\n        - image/svg+xml\n        - image/tiff\n        - image/bmp\n        - image/avif\n        - image/heic\n        - audio/mpeg\n        - audio/mp3\n        - audio/wav\n        - audio/ogg\n        - audio/oga\n        - audio/aac\n        - audio/mp4\n        - audio/flac\n        - audio/opus\n        - audio/webm\n        - video/mp4\n        - video/webm\n        - video/ogg\n        - video/mpeg\n        - video/quicktime\n        - video/x-msvideo\n        - video/x-matroska\n        - text/plain\n        - text/html\n        - text/css\n        - text/csv\n        - text/markdown\n        - text/x-python\n        - application/javascript\n        - text/x-typescript\n        - application/x-yaml\n        - application/pdf\n        - application/msword\n        - application/vnd.ms-excel\n        - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\n        - application/zip\n        - application/json\n        - application/xml\n        - application/octet-stream\n        - >-\n          application/vnd.openxmlformats-officedocument.wordprocessingml.document\n        - >-\n          application/vnd.openxmlformats-officedocument.presentationml.presentation\n        - application/rtf\n        - application/x-ndjson\n        - application/vnd.apache.parquet\n        - application/gzip\n        - application/x-tar\n        - application/x-7z-compressed\n      description: The MIME type of the media record\n    MetricsV2Response:\n      title: MetricsV2Response\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            type: object\n            additionalProperties: true\n          description: >-\n            The metrics data. Each item in the list contains the metric values\n            and dimensions requested in the query.\n\n            Format varies based on the query parameters.\n\n            Histograms will return an array with [lower, upper, height] tuples.\n      required:\n        - data\n    MetricsResponse:\n      title: MetricsResponse\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            type: object\n            additionalProperties: true\n          description: >-\n            The metrics data. Each item in the list contains the metric values\n            and dimensions requested in the query.\n\n            Format varies based on the query parameters.\n\n            Histograms will return an array with [lower, upper, height] tuples.\n      required:\n        - data\n    PaginatedModels:\n      title: PaginatedModels\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            $ref: '#/components/schemas/Model'\n        meta:\n          $ref: '#/components/schemas/utilsMetaResponse'\n      required:\n        - data\n        - meta\n    CreateModelRequest:\n      title: CreateModelRequest\n      type: object\n      properties:\n        modelName:\n          type: string\n          description: >-\n            Name of the model definition. If multiple with the same name exist,\n            they are applied in the following order: (1) custom over built-in,\n            (2) newest according to startTime where\n            model.startTime<observation.startTime\n        matchPattern:\n          type: string\n          description: >-\n            Regex pattern which matches this model definition to\n            generation.model. Useful in case of fine-tuned models. If you want\n            to exact match, use `(?i)^modelname$`\n        startDate:\n          type: string\n          format: date-time\n          nullable: true\n          description: Apply only to generations which are newer than this ISO date.\n        unit:\n          $ref: '#/components/schemas/ModelUsageUnit'\n          nullable: true\n          description: Unit used by this model.\n        inputPrice:\n          type: number\n          format: double\n          nullable: true\n          description: >-\n            Deprecated. Use 'pricingTiers' instead. Price (USD) per input unit.\n            Creates a default tier if pricingTiers not provided.\n        outputPrice:\n          type: number\n          format: double\n          nullable: true\n          description: >-\n            Deprecated. Use 'pricingTiers' instead. Price (USD) per output unit.\n            Creates a default tier if pricingTiers not provided.\n        totalPrice:\n          type: number\n          format: double\n          nullable: true\n          description: >-\n            Deprecated. Use 'pricingTiers' instead. Price (USD) per total units.\n            Cannot be set if input or output price is set. Creates a default\n            tier if pricingTiers not provided.\n        pricingTiers:\n          type: array\n          items:\n            $ref: '#/components/schemas/PricingTierInput'\n          nullable: true\n          description: >-\n            Optional. Array of pricing tiers for this model.\n\n\n            Use pricing tiers for all models - both those with threshold-based\n            pricing variations and those with simple flat pricing:\n\n\n            - For models with standard flat pricing: Create a single default\n            tier with your prices\n              (e.g., one tier with isDefault=true, priority=0, conditions=[], and your standard prices)\n\n            - For models with threshold-based pricing: Create a default tier\n            plus additional conditional tiers\n              (e.g., default tier for standard usage + high-volume tier for usage above certain thresholds)\n\n            Requirements:\n\n            - Cannot be provided with flat prices\n            (inputPrice/outputPrice/totalPrice) - use one approach or the other\n\n            - Must include exactly one default tier with isDefault=true,\n            priority=0, and conditions=[]\n\n            - All tier names and priorities must be unique within the model\n\n            - Each tier must define at least one price\n\n\n            If omitted, you must provide flat prices instead\n            (inputPrice/outputPrice/totalPrice),\n\n            which will automatically create a single default tier named\n            \"Standard\".\n        tokenizerId:\n          type: string\n          nullable: true\n          description: >-\n            Optional. Tokenizer to be applied to observations which match to\n            this model. See docs for more details.\n        tokenizerConfig:\n          nullable: true\n          description: >-\n            Optional. Configuration for the selected tokenizer. Needs to be\n            JSON. See docs for more details.\n      required:\n        - modelName\n        - matchPattern\n    ObservationsV2Response:\n      title: ObservationsV2Response\n      type: object\n      description: >-\n        Response containing observations with field-group-based filtering and\n        cursor-based pagination.\n\n\n        The `data` array contains observation objects with only the requested\n        field groups included.\n\n        Use the `cursor` in `meta` to retrieve the next page of results.\n      properties:\n        data:\n          type: array\n          items:\n            type: object\n            additionalProperties: true\n          description: >-\n            Array of observation objects. Fields included depend on the `fields`\n            parameter in the request.\n        meta:\n          $ref: '#/components/schemas/ObservationsV2Meta'\n      required:\n        - data\n        - meta\n    ObservationsV2Meta:\n      title: ObservationsV2Meta\n      type: object\n      description: Metadata for cursor-based pagination\n      properties:\n        cursor:\n          type: string\n          nullable: true\n          description: >-\n            Base64-encoded cursor to use for retrieving the next page. If not\n            present, there are no more results.\n    Observations:\n      title: Observations\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            $ref: '#/components/schemas/Observation'\n        meta:\n          $ref: '#/components/schemas/utilsMetaResponse'\n      required:\n        - data\n        - meta\n    ObservationsViews:\n      title: ObservationsViews\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            $ref: '#/components/schemas/ObservationsView'\n        meta:\n          $ref: '#/components/schemas/utilsMetaResponse'\n      required:\n        - data\n        - meta\n    OtelResourceSpan:\n      title: OtelResourceSpan\n      type: object\n      description: >-\n        Represents a collection of spans from a single resource as per OTLP\n        specification\n      properties:\n        resource:\n          $ref: '#/components/schemas/OtelResource'\n          nullable: true\n          description: Resource information\n        scopeSpans:\n          type: array\n          items:\n            $ref: '#/components/schemas/OtelScopeSpan'\n          nullable: true\n          description: Array of scope spans\n    OtelResource:\n      title: OtelResource\n      type: object\n      description: Resource attributes identifying the source of telemetry\n      properties:\n        attributes:\n          type: array\n          items:\n            $ref: '#/components/schemas/OtelAttribute'\n          nullable: true\n          description: Resource attributes like service.name, service.version, etc.\n    OtelScopeSpan:\n      title: OtelScopeSpan\n      type: object\n      description: Collection of spans from a single instrumentation scope\n      properties:\n        scope:\n          $ref: '#/components/schemas/OtelScope'\n          nullable: true\n          description: Instrumentation scope information\n        spans:\n          type: array\n          items:\n            $ref: '#/components/schemas/OtelSpan'\n          nullable: true\n          description: Array of spans\n    OtelScope:\n      title: OtelScope\n      type: object\n      description: Instrumentation scope information\n      properties:\n        name:\n          type: string\n          nullable: true\n          description: Instrumentation scope name\n        version:\n          type: string\n          nullable: true\n          description: Instrumentation scope version\n        attributes:\n          type: array\n          items:\n            $ref: '#/components/schemas/OtelAttribute'\n          nullable: true\n          description: Additional scope attributes\n    OtelSpan:\n      title: OtelSpan\n      type: object\n      description: Individual span representing a unit of work or operation\n      properties:\n        traceId:\n          nullable: true\n          description: Trace ID (16 bytes, hex-encoded string in JSON or Buffer in binary)\n        spanId:\n          nullable: true\n          description: Span ID (8 bytes, hex-encoded string in JSON or Buffer in binary)\n        parentSpanId:\n          nullable: true\n          description: Parent span ID if this is a child span\n        name:\n          type: string\n          nullable: true\n          description: Span name describing the operation\n        kind:\n          type: integer\n          nullable: true\n          description: Span kind (1=INTERNAL, 2=SERVER, 3=CLIENT, 4=PRODUCER, 5=CONSUMER)\n        startTimeUnixNano:\n          nullable: true\n          description: Start time in nanoseconds since Unix epoch\n        endTimeUnixNano:\n          nullable: true\n          description: End time in nanoseconds since Unix epoch\n        attributes:\n          type: array\n          items:\n            $ref: '#/components/schemas/OtelAttribute'\n          nullable: true\n          description: >-\n            Span attributes including Langfuse-specific attributes\n            (langfuse.observation.*)\n        status:\n          nullable: true\n          description: Span status object\n    OtelAttribute:\n      title: OtelAttribute\n      type: object\n      description: Key-value attribute pair for resources, scopes, or spans\n      properties:\n        key:\n          type: string\n          nullable: true\n          description: Attribute key (e.g., \"service.name\", \"langfuse.observation.type\")\n        value:\n          $ref: '#/components/schemas/OtelAttributeValue'\n          nullable: true\n          description: Attribute value\n    OtelAttributeValue:\n      title: OtelAttributeValue\n      type: object\n      description: Attribute value wrapper supporting different value types\n      properties:\n        stringValue:\n          type: string\n          nullable: true\n          description: String value\n        intValue:\n          type: integer\n          nullable: true\n          description: Integer value\n        doubleValue:\n          type: number\n          format: double\n          nullable: true\n          description: Double value\n        boolValue:\n          type: boolean\n          nullable: true\n          description: Boolean value\n    OtelTraceResponse:\n      title: OtelTraceResponse\n      type: object\n      description: Response from trace export request. Empty object indicates success.\n      properties: {}\n    MembershipRole:\n      title: MembershipRole\n      type: string\n      enum:\n        - OWNER\n        - ADMIN\n        - MEMBER\n        - VIEWER\n    MembershipRequest:\n      title: MembershipRequest\n      type: object\n      properties:\n        userId:\n          type: string\n        role:\n          $ref: '#/components/schemas/MembershipRole'\n      required:\n        - userId\n        - role\n    DeleteMembershipRequest:\n      title: DeleteMembershipRequest\n      type: object\n      properties:\n        userId:\n          type: string\n      required:\n        - userId\n    MembershipResponse:\n      title: MembershipResponse\n      type: object\n      properties:\n        userId:\n          type: string\n        role:\n          $ref: '#/components/schemas/MembershipRole'\n        email:\n          type: string\n        name:\n          type: string\n      required:\n        - userId\n        - role\n        - email\n        - name\n    MembershipDeletionResponse:\n      title: MembershipDeletionResponse\n      type: object\n      properties:\n        message:\n          type: string\n        userId:\n          type: string\n      required:\n        - message\n        - userId\n    MembershipsResponse:\n      title: MembershipsResponse\n      type: object\n      properties:\n        memberships:\n          type: array\n          items:\n            $ref: '#/components/schemas/MembershipResponse'\n      required:\n        - memberships\n    OrganizationProject:\n      title: OrganizationProject\n      type: object\n      properties:\n        id:\n          type: string\n        name:\n          type: string\n        metadata:\n          type: object\n          additionalProperties: true\n          nullable: true\n        createdAt:\n          type: string\n          format: date-time\n        updatedAt:\n          type: string\n          format: date-time\n      required:\n        - id\n        - name\n        - createdAt\n        - updatedAt\n    OrganizationProjectsResponse:\n      title: OrganizationProjectsResponse\n      type: object\n      properties:\n        projects:\n          type: array\n          items:\n            $ref: '#/components/schemas/OrganizationProject'\n      required:\n        - projects\n    OrganizationApiKey:\n      title: OrganizationApiKey\n      type: object\n      properties:\n        id:\n          type: string\n        createdAt:\n          type: string\n          format: date-time\n        expiresAt:\n          type: string\n          format: date-time\n          nullable: true\n        lastUsedAt:\n          type: string\n          format: date-time\n          nullable: true\n        note:\n          type: string\n          nullable: true\n        publicKey:\n          type: string\n        displaySecretKey:\n          type: string\n      required:\n        - id\n        - createdAt\n        - publicKey\n        - displaySecretKey\n    OrganizationApiKeysResponse:\n      title: OrganizationApiKeysResponse\n      type: object\n      properties:\n        apiKeys:\n          type: array\n          items:\n            $ref: '#/components/schemas/OrganizationApiKey'\n      required:\n        - apiKeys\n    Projects:\n      title: Projects\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            $ref: '#/components/schemas/Project'\n      required:\n        - data\n    Organization:\n      title: Organization\n      type: object\n      properties:\n        id:\n          type: string\n          description: The unique identifier of the organization\n        name:\n          type: string\n          description: The name of the organization\n      required:\n        - id\n        - name\n    Project:\n      title: Project\n      type: object\n      properties:\n        id:\n          type: string\n        name:\n          type: string\n        organization:\n          $ref: '#/components/schemas/Organization'\n          description: The organization this project belongs to\n        metadata:\n          type: object\n          additionalProperties: true\n          description: Metadata for the project\n        retentionDays:\n          type: integer\n          nullable: true\n          description: >-\n            Number of days to retain data. Null or 0 means no retention. Omitted\n            if no retention is configured.\n      required:\n        - id\n        - name\n        - organization\n        - metadata\n    ProjectDeletionResponse:\n      title: ProjectDeletionResponse\n      type: object\n      properties:\n        success:\n          type: boolean\n        message:\n          type: string\n      required:\n        - success\n        - message\n    ApiKeyList:\n      title: ApiKeyList\n      type: object\n      description: List of API keys for a project\n      properties:\n        apiKeys:\n          type: array\n          items:\n            $ref: '#/components/schemas/ApiKeySummary'\n      required:\n        - apiKeys\n    ApiKeySummary:\n      title: ApiKeySummary\n      type: object\n      description: Summary of an API key\n      properties:\n        id:\n          type: string\n        createdAt:\n          type: string\n          format: date-time\n        expiresAt:\n          type: string\n          format: date-time\n          nullable: true\n        lastUsedAt:\n          type: string\n          format: date-time\n          nullable: true\n        note:\n          type: string\n          nullable: true\n        publicKey:\n          type: string\n        displaySecretKey:\n          type: string\n      required:\n        - id\n        - createdAt\n        - publicKey\n        - displaySecretKey\n    ApiKeyResponse:\n      title: ApiKeyResponse\n      type: object\n      description: Response for API key creation\n      properties:\n        id:\n          type: string\n        createdAt:\n          type: string\n          format: date-time\n        publicKey:\n          type: string\n        secretKey:\n          type: string\n        displaySecretKey:\n          type: string\n        note:\n          type: string\n          nullable: true\n      required:\n        - id\n        - createdAt\n        - publicKey\n        - secretKey\n        - displaySecretKey\n    ApiKeyDeletionResponse:\n      title: ApiKeyDeletionResponse\n      type: object\n      description: Response for API key deletion\n      properties:\n        success:\n          type: boolean\n      required:\n        - success\n    PromptMetaListResponse:\n      title: PromptMetaListResponse\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            $ref: '#/components/schemas/PromptMeta'\n        meta:\n          $ref: '#/components/schemas/utilsMetaResponse'\n      required:\n        - data\n        - meta\n    PromptMeta:\n      title: PromptMeta\n      type: object\n      properties:\n        name:\n          type: string\n        type:\n          $ref: '#/components/schemas/PromptType'\n          description: Indicates whether the prompt is a text or chat prompt.\n        versions:\n          type: array\n          items:\n            type: integer\n        labels:\n          type: array\n          items:\n            type: string\n        tags:\n          type: array\n          items:\n            type: string\n        lastUpdatedAt:\n          type: string\n          format: date-time\n        lastConfig:\n          description: >-\n            Config object of the most recent prompt version that matches the\n            filters (if any are provided)\n      required:\n        - name\n        - type\n        - versions\n        - labels\n        - tags\n        - lastUpdatedAt\n        - lastConfig\n    CreatePromptRequest:\n      title: CreatePromptRequest\n      oneOf:\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - chat\n            - $ref: '#/components/schemas/CreateChatPromptRequest'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - text\n            - $ref: '#/components/schemas/CreateTextPromptRequest'\n          required:\n            - type\n    CreateChatPromptRequest:\n      title: CreateChatPromptRequest\n      type: object\n      properties:\n        name:\n          type: string\n        prompt:\n          type: array\n          items:\n            $ref: '#/components/schemas/ChatMessageWithPlaceholders'\n        config:\n          nullable: true\n        labels:\n          type: array\n          items:\n            type: string\n          nullable: true\n          description: List of deployment labels of this prompt version.\n        tags:\n          type: array\n          items:\n            type: string\n          nullable: true\n          description: List of tags to apply to all versions of this prompt.\n        commitMessage:\n          type: string\n          nullable: true\n          description: Commit message for this prompt version.\n      required:\n        - name\n        - prompt\n    CreateTextPromptRequest:\n      title: CreateTextPromptRequest\n      type: object\n      properties:\n        name:\n          type: string\n        prompt:\n          type: string\n        config:\n          nullable: true\n        labels:\n          type: array\n          items:\n            type: string\n          nullable: true\n          description: List of deployment labels of this prompt version.\n        tags:\n          type: array\n          items:\n            type: string\n          nullable: true\n          description: List of tags to apply to all versions of this prompt.\n        commitMessage:\n          type: string\n          nullable: true\n          description: Commit message for this prompt version.\n      required:\n        - name\n        - prompt\n    Prompt:\n      title: Prompt\n      oneOf:\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - chat\n            - $ref: '#/components/schemas/ChatPrompt'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - text\n            - $ref: '#/components/schemas/TextPrompt'\n          required:\n            - type\n    PromptType:\n      title: PromptType\n      type: string\n      enum:\n        - chat\n        - text\n    BasePrompt:\n      title: BasePrompt\n      type: object\n      properties:\n        name:\n          type: string\n        version:\n          type: integer\n        config: {}\n        labels:\n          type: array\n          items:\n            type: string\n          description: List of deployment labels of this prompt version.\n        tags:\n          type: array\n          items:\n            type: string\n          description: >-\n            List of tags. Used to filter via UI and API. The same across\n            versions of a prompt.\n        commitMessage:\n          type: string\n          nullable: true\n          description: Commit message for this prompt version.\n        resolutionGraph:\n          type: object\n          additionalProperties: true\n          nullable: true\n          description: >-\n            The dependency resolution graph for the current prompt. Null if\n            prompt has no dependencies.\n      required:\n        - name\n        - version\n        - config\n        - labels\n        - tags\n    ChatMessageWithPlaceholders:\n      title: ChatMessageWithPlaceholders\n      oneOf:\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - chatmessage\n            - $ref: '#/components/schemas/ChatMessage'\n          required:\n            - type\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                type:\n                  type: string\n                  enum:\n                    - placeholder\n            - $ref: '#/components/schemas/PlaceholderMessage'\n          required:\n            - type\n    ChatMessage:\n      title: ChatMessage\n      type: object\n      properties:\n        role:\n          type: string\n        content:\n          type: string\n      required:\n        - role\n        - content\n    PlaceholderMessage:\n      title: PlaceholderMessage\n      type: object\n      properties:\n        name:\n          type: string\n      required:\n        - name\n    TextPrompt:\n      title: TextPrompt\n      type: object\n      properties:\n        prompt:\n          type: string\n      required:\n        - prompt\n      allOf:\n        - $ref: '#/components/schemas/BasePrompt'\n    ChatPrompt:\n      title: ChatPrompt\n      type: object\n      properties:\n        prompt:\n          type: array\n          items:\n            $ref: '#/components/schemas/ChatMessageWithPlaceholders'\n      required:\n        - prompt\n      allOf:\n        - $ref: '#/components/schemas/BasePrompt'\n    ServiceProviderConfig:\n      title: ServiceProviderConfig\n      type: object\n      properties:\n        schemas:\n          type: array\n          items:\n            type: string\n        documentationUri:\n          type: string\n        patch:\n          $ref: '#/components/schemas/ScimFeatureSupport'\n        bulk:\n          $ref: '#/components/schemas/BulkConfig'\n        filter:\n          $ref: '#/components/schemas/FilterConfig'\n        changePassword:\n          $ref: '#/components/schemas/ScimFeatureSupport'\n        sort:\n          $ref: '#/components/schemas/ScimFeatureSupport'\n        etag:\n          $ref: '#/components/schemas/ScimFeatureSupport'\n        authenticationSchemes:\n          type: array\n          items:\n            $ref: '#/components/schemas/AuthenticationScheme'\n        meta:\n          $ref: '#/components/schemas/ResourceMeta'\n      required:\n        - schemas\n        - documentationUri\n        - patch\n        - bulk\n        - filter\n        - changePassword\n        - sort\n        - etag\n        - authenticationSchemes\n        - meta\n    ScimFeatureSupport:\n      title: ScimFeatureSupport\n      type: object\n      properties:\n        supported:\n          type: boolean\n      required:\n        - supported\n    BulkConfig:\n      title: BulkConfig\n      type: object\n      properties:\n        supported:\n          type: boolean\n        maxOperations:\n          type: integer\n        maxPayloadSize:\n          type: integer\n      required:\n        - supported\n        - maxOperations\n        - maxPayloadSize\n    FilterConfig:\n      title: FilterConfig\n      type: object\n      properties:\n        supported:\n          type: boolean\n        maxResults:\n          type: integer\n      required:\n        - supported\n        - maxResults\n    ResourceMeta:\n      title: ResourceMeta\n      type: object\n      properties:\n        resourceType:\n          type: string\n        location:\n          type: string\n      required:\n        - resourceType\n        - location\n    AuthenticationScheme:\n      title: AuthenticationScheme\n      type: object\n      properties:\n        name:\n          type: string\n        description:\n          type: string\n        specUri:\n          type: string\n        type:\n          type: string\n        primary:\n          type: boolean\n      required:\n        - name\n        - description\n        - specUri\n        - type\n        - primary\n    ResourceTypesResponse:\n      title: ResourceTypesResponse\n      type: object\n      properties:\n        schemas:\n          type: array\n          items:\n            type: string\n        totalResults:\n          type: integer\n        Resources:\n          type: array\n          items:\n            $ref: '#/components/schemas/ResourceType'\n      required:\n        - schemas\n        - totalResults\n        - Resources\n    ResourceType:\n      title: ResourceType\n      type: object\n      properties:\n        schemas:\n          type: array\n          items:\n            type: string\n          nullable: true\n        id:\n          type: string\n        name:\n          type: string\n        endpoint:\n          type: string\n        description:\n          type: string\n        schema:\n          type: string\n        schemaExtensions:\n          type: array\n          items:\n            $ref: '#/components/schemas/SchemaExtension'\n        meta:\n          $ref: '#/components/schemas/ResourceMeta'\n      required:\n        - id\n        - name\n        - endpoint\n        - description\n        - schema\n        - schemaExtensions\n        - meta\n    SchemaExtension:\n      title: SchemaExtension\n      type: object\n      properties:\n        schema:\n          type: string\n        required:\n          type: boolean\n      required:\n        - schema\n        - required\n    SchemasResponse:\n      title: SchemasResponse\n      type: object\n      properties:\n        schemas:\n          type: array\n          items:\n            type: string\n        totalResults:\n          type: integer\n        Resources:\n          type: array\n          items:\n            $ref: '#/components/schemas/SchemaResource'\n      required:\n        - schemas\n        - totalResults\n        - Resources\n    SchemaResource:\n      title: SchemaResource\n      type: object\n      properties:\n        id:\n          type: string\n        name:\n          type: string\n        description:\n          type: string\n        attributes:\n          type: array\n          items: {}\n        meta:\n          $ref: '#/components/schemas/ResourceMeta'\n      required:\n        - id\n        - name\n        - description\n        - attributes\n        - meta\n    ScimUsersListResponse:\n      title: ScimUsersListResponse\n      type: object\n      properties:\n        schemas:\n          type: array\n          items:\n            type: string\n        totalResults:\n          type: integer\n        startIndex:\n          type: integer\n        itemsPerPage:\n          type: integer\n        Resources:\n          type: array\n          items:\n            $ref: '#/components/schemas/ScimUser'\n      required:\n        - schemas\n        - totalResults\n        - startIndex\n        - itemsPerPage\n        - Resources\n    ScimUser:\n      title: ScimUser\n      type: object\n      properties:\n        schemas:\n          type: array\n          items:\n            type: string\n        id:\n          type: string\n        userName:\n          type: string\n        name:\n          $ref: '#/components/schemas/ScimName'\n        emails:\n          type: array\n          items:\n            $ref: '#/components/schemas/ScimEmail'\n        meta:\n          $ref: '#/components/schemas/UserMeta'\n      required:\n        - schemas\n        - id\n        - userName\n        - name\n        - emails\n        - meta\n    UserMeta:\n      title: UserMeta\n      type: object\n      properties:\n        resourceType:\n          type: string\n        created:\n          type: string\n          nullable: true\n        lastModified:\n          type: string\n          nullable: true\n      required:\n        - resourceType\n    ScimName:\n      title: ScimName\n      type: object\n      properties:\n        formatted:\n          type: string\n          nullable: true\n    ScimEmail:\n      title: ScimEmail\n      type: object\n      properties:\n        primary:\n          type: boolean\n        value:\n          type: string\n        type:\n          type: string\n      required:\n        - primary\n        - value\n        - type\n    EmptyResponse:\n      title: EmptyResponse\n      type: object\n      description: Empty response for 204 No Content responses\n      properties: {}\n    ScoreConfigs:\n      title: ScoreConfigs\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            $ref: '#/components/schemas/ScoreConfig'\n        meta:\n          $ref: '#/components/schemas/utilsMetaResponse'\n      required:\n        - data\n        - meta\n    CreateScoreConfigRequest:\n      title: CreateScoreConfigRequest\n      type: object\n      properties:\n        name:\n          type: string\n        dataType:\n          $ref: '#/components/schemas/ScoreConfigDataType'\n        categories:\n          type: array\n          items:\n            $ref: '#/components/schemas/ConfigCategory'\n          nullable: true\n          description: >-\n            Configure custom categories for categorical scores. Pass a list of\n            objects with `label` and `value` properties. Categories are\n            autogenerated for boolean configs and cannot be passed\n        minValue:\n          type: number\n          format: double\n          nullable: true\n          description: >-\n            Configure a minimum value for numerical scores. If not set, the\n            minimum value defaults to -∞\n        maxValue:\n          type: number\n          format: double\n          nullable: true\n          description: >-\n            Configure a maximum value for numerical scores. If not set, the\n            maximum value defaults to +∞\n        description:\n          type: string\n          nullable: true\n          description: >-\n            Description is shown across the Langfuse UI and can be used to e.g.\n            explain the config categories in detail, why a numeric range was\n            set, or provide additional context on config name or usage\n      required:\n        - name\n        - dataType\n    UpdateScoreConfigRequest:\n      title: UpdateScoreConfigRequest\n      type: object\n      properties:\n        isArchived:\n          type: boolean\n          nullable: true\n          description: The status of the score config showing if it is archived or not\n        name:\n          type: string\n          nullable: true\n          description: The name of the score config\n        categories:\n          type: array\n          items:\n            $ref: '#/components/schemas/ConfigCategory'\n          nullable: true\n          description: >-\n            Configure custom categories for categorical scores. Pass a list of\n            objects with `label` and `value` properties. Categories are\n            autogenerated for boolean configs and cannot be passed\n        minValue:\n          type: number\n          format: double\n          nullable: true\n          description: >-\n            Configure a minimum value for numerical scores. If not set, the\n            minimum value defaults to -∞\n        maxValue:\n          type: number\n          format: double\n          nullable: true\n          description: >-\n            Configure a maximum value for numerical scores. If not set, the\n            maximum value defaults to +∞\n        description:\n          type: string\n          nullable: true\n          description: >-\n            Description is shown across the Langfuse UI and can be used to e.g.\n            explain the config categories in detail, why a numeric range was\n            set, or provide additional context on config name or usage\n    GetScoresResponseTraceData:\n      title: GetScoresResponseTraceData\n      type: object\n      properties:\n        userId:\n          type: string\n          nullable: true\n          description: The user ID associated with the trace referenced by score\n        tags:\n          type: array\n          items:\n            type: string\n          nullable: true\n          description: A list of tags associated with the trace referenced by score\n        environment:\n          type: string\n          nullable: true\n          description: The environment of the trace referenced by score\n    GetScoresResponseDataNumeric:\n      title: GetScoresResponseDataNumeric\n      type: object\n      properties:\n        trace:\n          $ref: '#/components/schemas/GetScoresResponseTraceData'\n          nullable: true\n      allOf:\n        - $ref: '#/components/schemas/NumericScore'\n    GetScoresResponseDataCategorical:\n      title: GetScoresResponseDataCategorical\n      type: object\n      properties:\n        trace:\n          $ref: '#/components/schemas/GetScoresResponseTraceData'\n          nullable: true\n      allOf:\n        - $ref: '#/components/schemas/CategoricalScore'\n    GetScoresResponseDataBoolean:\n      title: GetScoresResponseDataBoolean\n      type: object\n      properties:\n        trace:\n          $ref: '#/components/schemas/GetScoresResponseTraceData'\n          nullable: true\n      allOf:\n        - $ref: '#/components/schemas/BooleanScore'\n    GetScoresResponseDataCorrection:\n      title: GetScoresResponseDataCorrection\n      type: object\n      properties:\n        trace:\n          $ref: '#/components/schemas/GetScoresResponseTraceData'\n          nullable: true\n      allOf:\n        - $ref: '#/components/schemas/CorrectionScore'\n    GetScoresResponseData:\n      title: GetScoresResponseData\n      oneOf:\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                dataType:\n                  type: string\n                  enum:\n                    - NUMERIC\n            - $ref: '#/components/schemas/GetScoresResponseDataNumeric'\n          required:\n            - dataType\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                dataType:\n                  type: string\n                  enum:\n                    - CATEGORICAL\n            - $ref: '#/components/schemas/GetScoresResponseDataCategorical'\n          required:\n            - dataType\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                dataType:\n                  type: string\n                  enum:\n                    - BOOLEAN\n            - $ref: '#/components/schemas/GetScoresResponseDataBoolean'\n          required:\n            - dataType\n        - type: object\n          allOf:\n            - type: object\n              properties:\n                dataType:\n                  type: string\n                  enum:\n                    - CORRECTION\n            - $ref: '#/components/schemas/GetScoresResponseDataCorrection'\n          required:\n            - dataType\n    GetScoresResponse:\n      title: GetScoresResponse\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            $ref: '#/components/schemas/GetScoresResponseData'\n        meta:\n          $ref: '#/components/schemas/utilsMetaResponse'\n      required:\n        - data\n        - meta\n    CreateScoreRequest:\n      title: CreateScoreRequest\n      type: object\n      properties:\n        id:\n          type: string\n          nullable: true\n        traceId:\n          type: string\n          nullable: true\n        sessionId:\n          type: string\n          nullable: true\n        observationId:\n          type: string\n          nullable: true\n        datasetRunId:\n          type: string\n          nullable: true\n        name:\n          type: string\n          example: novelty\n        value:\n          $ref: '#/components/schemas/CreateScoreValue'\n          description: >-\n            The value of the score. Must be passed as string for categorical\n            scores, and numeric for boolean and numeric scores. Boolean score\n            values must equal either 1 or 0 (true or false)\n        comment:\n          type: string\n          nullable: true\n        metadata:\n          type: object\n          additionalProperties: true\n          nullable: true\n        environment:\n          type: string\n          nullable: true\n          description: >-\n            The environment of the score. Can be any lowercase alphanumeric\n            string with hyphens and underscores that does not start with\n            'langfuse'.\n        queueId:\n          type: string\n          nullable: true\n          description: >-\n            The annotation queue referenced by the score. Indicates if score was\n            initially created while processing annotation queue.\n        dataType:\n          $ref: '#/components/schemas/ScoreDataType'\n          nullable: true\n          description: >-\n            The data type of the score. When passing a configId this field is\n            inferred. Otherwise, this field must be passed or will default to\n            numeric.\n        configId:\n          type: string\n          nullable: true\n          description: >-\n            Reference a score config on a score. The unique langfuse identifier\n            of a score config. When passing this field, the dataType and\n            stringValue fields are automatically populated.\n      required:\n        - name\n        - value\n    CreateScoreResponse:\n      title: CreateScoreResponse\n      type: object\n      properties:\n        id:\n          type: string\n          description: The id of the created object in Langfuse\n      required:\n        - id\n    PaginatedSessions:\n      title: PaginatedSessions\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            $ref: '#/components/schemas/Session'\n        meta:\n          $ref: '#/components/schemas/utilsMetaResponse'\n      required:\n        - data\n        - meta\n    Traces:\n      title: Traces\n      type: object\n      properties:\n        data:\n          type: array\n          items:\n            $ref: '#/components/schemas/TraceWithDetails'\n        meta:\n          $ref: '#/components/schemas/utilsMetaResponse'\n      required:\n        - data\n        - meta\n    DeleteTraceResponse:\n      title: DeleteTraceResponse\n      type: object\n      properties:\n        message:\n          type: string\n      required:\n        - message\n    Sort:\n      title: Sort\n      type: object\n      properties:\n        id:\n          type: string\n      required:\n        - id\n    utilsMetaResponse:\n      title: utilsMetaResponse\n      type: object\n      properties:\n        page:\n          type: integer\n          description: current page number\n        limit:\n          type: integer\n          description: number of items per page\n        totalItems:\n          type: integer\n          description: number of total items given the current filters/selection (if any)\n        totalPages:\n          type: integer\n          description: number of total pages given the current limit\n      required:\n        - page\n        - limit\n        - totalItems\n        - totalPages\n  securitySchemes:\n    BasicAuth:\n      type: http\n      scheme: basic\n"}