{
  "opencollection": "1.0.0",
  "info": {
    "name": "langfuse"
  },
  "items": [
    {
      "info": {
        "name": "AnnotationQueues",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "annotationQueues_listQueues",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/annotation-queues",
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "page number, starts at 1"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "limit of items per page"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get all annotation queues"
        },
        {
          "info": {
            "name": "annotationQueues_createQueue",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/annotation-queues",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create an annotation queue"
        },
        {
          "info": {
            "name": "annotationQueues_getQueue",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/annotation-queues/:queueId",
            "params": [
              {
                "name": "queueId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the annotation queue"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get an annotation queue by ID"
        },
        {
          "info": {
            "name": "annotationQueues_listQueueItems",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/annotation-queues/:queueId/items",
            "params": [
              {
                "name": "queueId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the annotation queue"
              },
              {
                "name": "status",
                "value": "",
                "type": "query",
                "description": "Filter by status"
              },
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "page number, starts at 1"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "limit of items per page"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get items for a specific annotation queue"
        },
        {
          "info": {
            "name": "annotationQueues_createQueueItem",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/annotation-queues/:queueId/items",
            "params": [
              {
                "name": "queueId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the annotation queue"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Add an item to an annotation queue"
        },
        {
          "info": {
            "name": "annotationQueues_getQueueItem",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/annotation-queues/:queueId/items/:itemId",
            "params": [
              {
                "name": "queueId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the annotation queue"
              },
              {
                "name": "itemId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the annotation queue item"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a specific item from an annotation queue"
        },
        {
          "info": {
            "name": "annotationQueues_updateQueueItem",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "{{baseUrl}}/api/public/annotation-queues/:queueId/items/:itemId",
            "params": [
              {
                "name": "queueId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the annotation queue"
              },
              {
                "name": "itemId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the annotation queue item"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Update an annotation queue item"
        },
        {
          "info": {
            "name": "annotationQueues_deleteQueueItem",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/public/annotation-queues/:queueId/items/:itemId",
            "params": [
              {
                "name": "queueId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the annotation queue"
              },
              {
                "name": "itemId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the annotation queue item"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Remove an item from an annotation queue"
        },
        {
          "info": {
            "name": "annotationQueues_createQueueAssignment",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/annotation-queues/:queueId/assignments",
            "params": [
              {
                "name": "queueId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the annotation queue"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create an assignment for a user to an annotation queue"
        },
        {
          "info": {
            "name": "annotationQueues_deleteQueueAssignment",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/public/annotation-queues/:queueId/assignments",
            "params": [
              {
                "name": "queueId",
                "value": "",
                "type": "path",
                "description": "The unique identifier of the annotation queue"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Delete an assignment for a user to an annotation queue"
        }
      ]
    },
    {
      "info": {
        "name": "BlobStorageIntegrations",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "blobStorageIntegrations_getBlobStorageIntegrations",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/integrations/blob-storage",
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get all blob storage integrations for the organization (requires organization-scoped API key)"
        },
        {
          "info": {
            "name": "blobStorageIntegrations_upsertBlobStorageIntegration",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "{{baseUrl}}/api/public/integrations/blob-storage",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create or update a blob storage integration for a specific project (requires organization-scoped API key). The configuration is validated by performing a test upload to the bucket."
        },
        {
          "info": {
            "name": "blobStorageIntegrations_getBlobStorageIntegrationStatus",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/integrations/blob-storage/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get the sync status of a blob storage integration by integration ID (requires organization-scoped API key)"
        },
        {
          "info": {
            "name": "blobStorageIntegrations_deleteBlobStorageIntegration",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/public/integrations/blob-storage/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Delete a blob storage integration by ID (requires organization-scoped API key)"
        }
      ]
    },
    {
      "info": {
        "name": "Comments",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "comments_get",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/comments",
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "Page number, starts at 1."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Limit of items per page. If you encounter api issues due to too large page sizes, try to reduce the limit"
              },
              {
                "name": "objectType",
                "value": "",
                "type": "query",
                "description": "Filter comments by object type (trace, observation, session, prompt)."
              },
              {
                "name": "objectId",
                "value": "",
                "type": "query",
                "description": "Filter comments by object id. If objectType is not provided, an error will be thrown."
              },
              {
                "name": "authorUserId",
                "value": "",
                "type": "query",
                "description": "Filter comments by author user id."
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get all comments"
        },
        {
          "info": {
            "name": "comments_create",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/comments",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create a comment. Comments may be attached to different object types (trace, observation, session, prompt)."
        },
        {
          "info": {
            "name": "comments_get-by-id",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/comments/:commentId",
            "params": [
              {
                "name": "commentId",
                "value": "",
                "type": "path",
                "description": "The unique langfuse identifier of a comment"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a comment by id"
        }
      ]
    },
    {
      "info": {
        "name": "DatasetItems",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "datasetItems_list",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/dataset-items",
            "params": [
              {
                "name": "datasetName",
                "value": "",
                "type": "query"
              },
              {
                "name": "sourceTraceId",
                "value": "",
                "type": "query"
              },
              {
                "name": "sourceObservationId",
                "value": "",
                "type": "query"
              },
              {
                "name": "version",
                "value": "",
                "type": "query",
                "description": "ISO 8601 timestamp (RFC 3339, Section 5.6) in UTC (e.g., \"2026-01-21T14:35:42Z\").\nIf provided, returns state of dataset at this timestamp.\nIf not provided, returns the latest version. Requires datasetName to be specified."
              },
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "page number, starts at 1"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "limit of items per page"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get dataset items. Optionally specify a version to get the items as they existed at that point in time.\nNote: If version parameter is provided, datasetName must also be provided."
        },
        {
          "info": {
            "name": "datasetItems_create",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/dataset-items",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create a dataset item"
        },
        {
          "info": {
            "name": "datasetItems_get",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/dataset-items/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a dataset item"
        },
        {
          "info": {
            "name": "datasetItems_delete",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/public/dataset-items/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Delete a dataset item and all its run items. This action is irreversible."
        }
      ]
    },
    {
      "info": {
        "name": "DatasetRunItems",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "datasetRunItems_list",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/dataset-run-items",
            "params": [
              {
                "name": "datasetId",
                "value": "",
                "type": "query"
              },
              {
                "name": "runName",
                "value": "",
                "type": "query"
              },
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "page number, starts at 1"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "limit of items per page"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "List dataset run items"
        },
        {
          "info": {
            "name": "datasetRunItems_create",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/dataset-run-items",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create a dataset run item"
        }
      ]
    },
    {
      "info": {
        "name": "Datasets",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "datasets_list",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/v2/datasets",
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "page number, starts at 1"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "limit of items per page"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get all datasets"
        },
        {
          "info": {
            "name": "datasets_create",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/v2/datasets",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create a dataset"
        },
        {
          "info": {
            "name": "datasets_get",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/v2/datasets/:datasetName",
            "params": [
              {
                "name": "datasetName",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a dataset"
        },
        {
          "info": {
            "name": "datasets_getRun",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/datasets/:datasetName/runs/:runName",
            "params": [
              {
                "name": "datasetName",
                "value": "",
                "type": "path"
              },
              {
                "name": "runName",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a dataset run and its items"
        },
        {
          "info": {
            "name": "datasets_deleteRun",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/public/datasets/:datasetName/runs/:runName",
            "params": [
              {
                "name": "datasetName",
                "value": "",
                "type": "path"
              },
              {
                "name": "runName",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Delete a dataset run and all its run items. This action is irreversible."
        },
        {
          "info": {
            "name": "datasets_getRuns",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/datasets/:datasetName/runs",
            "params": [
              {
                "name": "datasetName",
                "value": "",
                "type": "path"
              },
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "page number, starts at 1"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "limit of items per page"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get dataset runs"
        }
      ]
    },
    {
      "info": {
        "name": "Health",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "health_health",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/health"
          },
          "docs": "Check health of API and database"
        }
      ]
    },
    {
      "info": {
        "name": "Ingestion",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "ingestion_batch",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/ingestion",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "**Legacy endpoint for batch ingestion for Langfuse Observability.**\n\n-> Please use the OpenTelemetry endpoint (`/api/public/otel/v1/traces`). Learn more: https://langfuse.com/integrations/native/opentelemetry\n\nWithin each batch, there can be multiple events.\nEach event has a type, an id, a timestamp, metadata and a body.\nInternally, we refer to this as the \"event envelope\" as it tells us something about the event but not the trace.\nWe use the event id within this envelope to deduplicate messages"
        }
      ]
    },
    {
      "info": {
        "name": "LegacyMetricsV1",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "legacy_metricsV1_metrics",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/metrics",
            "params": [
              {
                "name": "query",
                "value": "",
                "type": "query",
                "description": "JSON string containing the query parameters with the following structure:\n```json\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```"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get metrics from the Langfuse project using a query object.\n\nConsider using the [v2 metrics endpoint](/api-reference#tag/metricsv2/GET/api/public/v2/metrics) for better performance.\n\nFor more details, see the [Metrics API documentation](https://langfuse.com/docs/metrics/features/metrics-api)."
        }
      ]
    },
    {
      "info": {
        "name": "LegacyObservationsV1",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "legacy_observationsV1_get",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/observations/:observationId",
            "params": [
              {
                "name": "observationId",
                "value": "",
                "type": "path",
                "description": "The unique langfuse identifier of an observation, can be an event, span or generation"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a observation"
        },
        {
          "info": {
            "name": "legacy_observationsV1_getMany",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/observations",
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "Page number, starts at 1."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Limit of items per page. If you encounter api issues due to too large page sizes, try to reduce the limit."
              },
              {
                "name": "name",
                "value": "",
                "type": "query"
              },
              {
                "name": "userId",
                "value": "",
                "type": "query"
              },
              {
                "name": "type",
                "value": "",
                "type": "query"
              },
              {
                "name": "traceId",
                "value": "",
                "type": "query"
              },
              {
                "name": "level",
                "value": "",
                "type": "query",
                "description": "Optional filter for observations with a specific level (e.g. \"DEBUG\", \"DEFAULT\", \"WARNING\", \"ERROR\")."
              },
              {
                "name": "parentObservationId",
                "value": "",
                "type": "query"
              },
              {
                "name": "environment",
                "value": "",
                "type": "query",
                "description": "Optional filter for observations where the environment is one of the provided values."
              },
              {
                "name": "fromStartTime",
                "value": "",
                "type": "query",
                "description": "Retrieve only observations with a start_time on or after this datetime (ISO 8601)."
              },
              {
                "name": "toStartTime",
                "value": "",
                "type": "query",
                "description": "Retrieve only observations with a start_time before this datetime (ISO 8601)."
              },
              {
                "name": "version",
                "value": "",
                "type": "query",
                "description": "Optional filter to only include observations with a certain version."
              },
              {
                "name": "filter",
                "value": "",
                "type": "query",
                "description": "JSON string containing an array of filter conditions. When provided, this takes precedence over query parameter filters (userId, name, type, level, environment, fromStartTime, ...).\n\n## Filter Structure\nEach filter condition has the following structure:\n```json\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## Available Columns\n\n### Core Observation Fields\n- `id` (string) - Observation ID\n- `type` (string) - Observation type (SPAN, GENERATION, EVENT)\n- `name` (string) - Observation name\n- `traceId` (string) - Associated trace ID\n- `startTime` (datetime) - Observation start time\n- `endTime` (datetime) - Observation end time\n- `environment` (string) - Environment tag\n- `level` (string) - Log level (DEBUG, DEFAULT, WARNING, ERROR)\n- `statusMessage` (string) - Status message\n- `version` (string) - Version tag\n\n### Performance Metrics\n- `latency` (number) - Latency in seconds (calculated: end_time - start_time)\n- `timeToFirstToken` (number) - Time to first token in seconds\n- `tokensPerSecond` (number) - Output tokens per second\n\n### Token Usage\n- `inputTokens` (number) - Number of input tokens\n- `outputTokens` (number) - Number of output tokens\n- `totalTokens` (number) - Total tokens (alias: `tokens`)\n\n### Cost Metrics\n- `inputCost` (number) - Input cost in USD\n- `outputCost` (number) - Output cost in USD\n- `totalCost` (number) - Total cost in USD\n\n### Model Information\n- `model` (string) - Provided model name\n- `promptName` (string) - Associated prompt name\n- `promptVersion` (number) - Associated prompt version\n\n### Structured Data\n- `metadata` (stringObject/numberObject/categoryOptions) - Metadata key-value pairs. Use `key` parameter to filter on specific metadata keys.\n\n### Associated Trace Fields (requires join with traces table)\n- `userId` (string) - User ID from associated trace\n- `traceName` (string) - Name from associated trace\n- `traceEnvironment` (string) - Environment from associated trace\n- `traceTags` (arrayOptions) - Tags from associated trace\n\n## Filter Examples\n```json\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```"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a list of observations.\n\nConsider using the [v2 observations endpoint](/api-reference#tag/observationsv2/GET/api/public/v2/observations) for cursor-based pagination and field selection."
        }
      ]
    },
    {
      "info": {
        "name": "LegacyScoreV1",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "legacy_scoreV1_create",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/scores",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create a score (supports both trace and session scores)"
        },
        {
          "info": {
            "name": "legacy_scoreV1_delete",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/public/scores/:scoreId",
            "params": [
              {
                "name": "scoreId",
                "value": "",
                "type": "path",
                "description": "The unique langfuse identifier of a score"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Delete a score (supports both trace and session scores)"
        }
      ]
    },
    {
      "info": {
        "name": "LlmConnections",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "llmConnections_list",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/llm-connections",
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "page number, starts at 1"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "limit of items per page"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get all LLM connections in a project"
        },
        {
          "info": {
            "name": "llmConnections_upsert",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "{{baseUrl}}/api/public/llm-connections",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create or update an LLM connection. The connection is upserted on provider."
        },
        {
          "info": {
            "name": "llmConnections_delete",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/public/llm-connections/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Delete an LLM connection by id. Evaluators that depend on the deleted connection are automatically paused."
        }
      ]
    },
    {
      "info": {
        "name": "Media",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "media_get",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/media/:mediaId",
            "params": [
              {
                "name": "mediaId",
                "value": "",
                "type": "path",
                "description": "The unique langfuse identifier of a media record"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a media record"
        },
        {
          "info": {
            "name": "media_patch",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "{{baseUrl}}/api/public/media/:mediaId",
            "params": [
              {
                "name": "mediaId",
                "value": "",
                "type": "path",
                "description": "The unique langfuse identifier of a media record"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Patch a media record"
        },
        {
          "info": {
            "name": "media_getUploadUrl",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/media",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a presigned upload URL for a media record"
        }
      ]
    },
    {
      "info": {
        "name": "Metrics",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "metrics_metrics",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/v2/metrics",
            "params": [
              {
                "name": "query",
                "value": "",
                "type": "query",
                "description": "JSON string containing the query parameters with the following structure:\n```json\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```"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get metrics from the Langfuse project using a query object. V2 endpoint with optimized performance.\n\n## V2 Differences\n- Supports `observations`, `scores-numeric`, and `scores-categorical` views only (traces view not supported)\n- Direct access to tags and release fields on observations\n- Backwards-compatible: traceName, traceRelease, traceVersion dimensions are still available on observations view\n- High cardinality dimensions are not supported and will return a 400 error (see below)\n\nFor more d"
        }
      ]
    },
    {
      "info": {
        "name": "Models",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "models_list",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/models",
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "page number, starts at 1"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "limit of items per page"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get all models"
        },
        {
          "info": {
            "name": "models_create",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/models",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create a model"
        },
        {
          "info": {
            "name": "models_get",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/models/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a model"
        },
        {
          "info": {
            "name": "models_delete",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/public/models/:id",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Delete a model. Cannot delete models managed by Langfuse. You can create your own definition with the same modelName to override the definition though."
        }
      ]
    },
    {
      "info": {
        "name": "Observations",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "observations_getMany",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/v2/observations",
            "params": [
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of field groups to include in the response.\nAvailable groups: core, basic, time, io, metadata, model, usage, prompt, metrics.\nIf not specified, `core` and `basic` field groups are returned.\nExample: \"basic,usage,model\""
              },
              {
                "name": "expandMetadata",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of metadata keys to return non-truncated.\nBy default, metadata values over 200 characters are truncated.\nUse this parameter to retrieve full values for specific keys.\nExample: \"key1,key2\""
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Number of items to return per page. Maximum 1000, default 50."
              },
              {
                "name": "cursor",
                "value": "",
                "type": "query",
                "description": "Base64-encoded cursor for pagination. Use the cursor from the previous response to get the next page."
              },
              {
                "name": "parseIoAsJson",
                "value": "",
                "type": "query",
                "description": "**Deprecated.** Setting this to `true` will return a 400 error.\nInput/output fields are always returned as raw strings.\nRemove this parameter or set it to `false`."
              },
              {
                "name": "name",
                "value": "",
                "type": "query"
              },
              {
                "name": "userId",
                "value": "",
                "type": "query"
              },
              {
                "name": "type",
                "value": "",
                "type": "query",
                "description": "Filter by observation type (e.g., \"GENERATION\", \"SPAN\", \"EVENT\", \"AGENT\", \"TOOL\", \"CHAIN\", \"RETRIEVER\", \"EVALUATOR\", \"EMBEDDING\", \"GUARDRAIL\")"
              },
              {
                "name": "traceId",
                "value": "",
                "type": "query"
              },
              {
                "name": "level",
                "value": "",
                "type": "query",
                "description": "Optional filter for observations with a specific level (e.g. \"DEBUG\", \"DEFAULT\", \"WARNING\", \"ERROR\")."
              },
              {
                "name": "parentObservationId",
                "value": "",
                "type": "query"
              },
              {
                "name": "environment",
                "value": "",
                "type": "query",
                "description": "Optional filter for observations where the environment is one of the provided values."
              },
              {
                "name": "fromStartTime",
                "value": "",
                "type": "query",
                "description": "Retrieve only observations with a start_time on or after this datetime (ISO 8601)."
              },
              {
                "name": "toStartTime",
                "value": "",
                "type": "query",
                "description": "Retrieve only observations with a start_time before this datetime (ISO 8601)."
              },
              {
                "name": "version",
                "value": "",
                "type": "query",
                "description": "Optional filter to only include observations with a certain version."
              },
              {
                "name": "filter",
                "value": "",
                "type": "query",
                "description": "JSON string containing an array of filter conditions. When provided, this takes precedence over query parameter filters (userId, name, type, level, environment, fromStartTime, ...).\n\n## Filter Structure\nEach filter condition has the following structure:\n```json\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## Available Columns\n\n### Core Observation Fields\n- `id` (string) - Observation ID\n- `type` (string) - Observation type (SPAN, GENERATION, EVENT)\n- `name` (string) - Observation name\n- `traceId` (string) - Associated trace ID\n- `startTime` (datetime) - Observation start time\n- `endTime` (datetime) - Observation end time\n- `environment` (string) - Environment tag\n- `level` (string) - Log level (DEBUG, DEFAULT, WARNING, ERROR)\n- `statusMessage` (string) - Status message\n- `version` (string) - Version tag\n- `userId` (string) - User ID\n- `sessionId` (string) - Session ID\n\n### Trace-Related Fields\n- `traceName` (string) - Name of the parent trace\n- `traceTags` (arrayOptions) - Tags from the parent trace\n- `tags` (arrayOptions) - Alias for traceTags\n\n### Performance Metrics\n- `latency` (number) - Latency in seconds (calculated: end_time - start_time)\n- `timeToFirstToken` (number) - Time to first token in seconds\n- `tokensPerSecond` (number) - Output tokens per second\n\n### Token Usage\n- `inputTokens` (number) - Number of input tokens\n- `outputTokens` (number) - Number of output tokens\n- `totalTokens` (number) - Total tokens (alias: `tokens`)\n\n### Cost Metrics\n- `inputCost` (number) - Input cost in USD\n- `outputCost` (number) - Output cost in USD\n- `totalCost` (number) - Total cost in USD\n\n### Model Information\n- `model` (string) - Provided model name (alias: `providedModelName`)\n- `promptName` (string) - Associated prompt name\n- `promptVersion` (number) - Associated prompt version\n\n### Structured Data\n- `metadata` (stringObject/numberObject/categoryOptions) - Metadata key-value pairs. Use `key` parameter to filter on specific metadata keys.\n\n## Filter Examples\n```json\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```"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a list of observations with cursor-based pagination and flexible field selection.\n\n## Cursor-based Pagination\nThis endpoint uses cursor-based pagination for efficient traversal of large datasets.\nThe cursor is returned in the response metadata and should be passed in subsequent requests\nto retrieve the next page of results.\n\n## Field Selection\nUse the `fields` parameter to control which observation fields are returned:\n- `core` - Always included: id, traceId, startTime, endTime, projectId, p"
        }
      ]
    },
    {
      "info": {
        "name": "Opentelemetry",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "opentelemetry_exportTraces",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/otel/v1/traces",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "**OpenTelemetry Traces Ingestion Endpoint**\n\nThis endpoint implements the OTLP/HTTP specification for trace ingestion, providing native OpenTelemetry integration for Langfuse Observability.\n\n**Supported Formats:**\n- Binary Protobuf: `Content-Type: application/x-protobuf`\n- JSON Protobuf: `Content-Type: application/json`\n- Supports gzip compression via `Content-Encoding: gzip` header\n\n**Specification Compliance:**\n- Conforms to [OTLP/HTTP Trace Export](https://opentelemetry.io/docs/specs/otlp/#ot"
        }
      ]
    },
    {
      "info": {
        "name": "Organizations",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "organizations_getOrganizationMemberships",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/organizations/memberships",
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get all memberships for the organization associated with the API key (requires organization-scoped API key)"
        },
        {
          "info": {
            "name": "organizations_updateOrganizationMembership",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "{{baseUrl}}/api/public/organizations/memberships",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create or update a membership for the organization associated with the API key (requires organization-scoped API key)"
        },
        {
          "info": {
            "name": "organizations_deleteOrganizationMembership",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/public/organizations/memberships",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Delete a membership from the organization associated with the API key (requires organization-scoped API key)"
        },
        {
          "info": {
            "name": "organizations_getProjectMemberships",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/projects/:projectId/memberships",
            "params": [
              {
                "name": "projectId",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get all memberships for a specific project (requires organization-scoped API key)"
        },
        {
          "info": {
            "name": "organizations_updateProjectMembership",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "{{baseUrl}}/api/public/projects/:projectId/memberships",
            "params": [
              {
                "name": "projectId",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create or update a membership for a specific project (requires organization-scoped API key). The user must already be a member of the organization."
        },
        {
          "info": {
            "name": "organizations_deleteProjectMembership",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/public/projects/:projectId/memberships",
            "params": [
              {
                "name": "projectId",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Delete a membership from a specific project (requires organization-scoped API key). The user must be a member of the organization."
        },
        {
          "info": {
            "name": "organizations_getOrganizationProjects",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/organizations/projects",
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get all projects for the organization associated with the API key (requires organization-scoped API key)"
        },
        {
          "info": {
            "name": "organizations_getOrganizationApiKeys",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/organizations/apiKeys",
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get all API keys for the organization associated with the API key (requires organization-scoped API key)"
        }
      ]
    },
    {
      "info": {
        "name": "Projects",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "projects_get",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/projects",
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get Project associated with API key (requires project-scoped API key). You can use GET /api/public/organizations/projects to get all projects with an organization-scoped key."
        },
        {
          "info": {
            "name": "projects_create",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/projects",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create a new project (requires organization-scoped API key)"
        },
        {
          "info": {
            "name": "projects_update",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "{{baseUrl}}/api/public/projects/:projectId",
            "params": [
              {
                "name": "projectId",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Update a project by ID (requires organization-scoped API key)."
        },
        {
          "info": {
            "name": "projects_delete",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/public/projects/:projectId",
            "params": [
              {
                "name": "projectId",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Delete a project by ID (requires organization-scoped API key). Project deletion is processed asynchronously."
        },
        {
          "info": {
            "name": "projects_getApiKeys",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/projects/:projectId/apiKeys",
            "params": [
              {
                "name": "projectId",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get all API keys for a project (requires organization-scoped API key)"
        },
        {
          "info": {
            "name": "projects_createApiKey",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/projects/:projectId/apiKeys",
            "params": [
              {
                "name": "projectId",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create a new API key for a project (requires organization-scoped API key)"
        },
        {
          "info": {
            "name": "projects_deleteApiKey",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/public/projects/:projectId/apiKeys/:apiKeyId",
            "params": [
              {
                "name": "projectId",
                "value": "",
                "type": "path"
              },
              {
                "name": "apiKeyId",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Delete an API key for a project (requires organization-scoped API key)"
        }
      ]
    },
    {
      "info": {
        "name": "PromptVersion",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "promptVersion_update",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "{{baseUrl}}/api/public/v2/prompts/:name/versions/:version",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "path",
                "description": "The name of the prompt. If the prompt is in a folder (e.g., \"folder/subfolder/prompt-name\"), \nthe folder path must be URL encoded."
              },
              {
                "name": "version",
                "value": "",
                "type": "path",
                "description": "Version of the prompt to update"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Update labels for a specific prompt version"
        }
      ]
    },
    {
      "info": {
        "name": "Prompts",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "prompts_get",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/v2/prompts/:promptName",
            "params": [
              {
                "name": "promptName",
                "value": "",
                "type": "path",
                "description": "The name of the prompt. If the prompt is in a folder (e.g., \"folder/subfolder/prompt-name\"), \nthe folder path must be URL encoded."
              },
              {
                "name": "version",
                "value": "",
                "type": "query",
                "description": "Version of the prompt to be retrieved."
              },
              {
                "name": "label",
                "value": "",
                "type": "query",
                "description": "Label of the prompt to be retrieved. Defaults to \"production\" if no label or version is set."
              },
              {
                "name": "resolve",
                "value": "",
                "type": "query",
                "description": "Resolve prompt dependencies before returning the prompt. Defaults to `true`. Set to `false` to return the raw stored prompt with dependency tags intact. This bypasses prompt caching and is intended for debugging or one-off jobs, not production runtime fetches."
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a prompt"
        },
        {
          "info": {
            "name": "prompts_delete",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/public/v2/prompts/:promptName",
            "params": [
              {
                "name": "promptName",
                "value": "",
                "type": "path",
                "description": "The name of the prompt"
              },
              {
                "name": "label",
                "value": "",
                "type": "query",
                "description": "Optional label to filter deletion. If specified, deletes all prompt versions that have this label."
              },
              {
                "name": "version",
                "value": "",
                "type": "query",
                "description": "Optional version to filter deletion. If specified, deletes only this specific version of the prompt."
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Delete prompt versions. If neither version nor label is specified, all versions of the prompt are deleted."
        },
        {
          "info": {
            "name": "prompts_list",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/v2/prompts",
            "params": [
              {
                "name": "name",
                "value": "",
                "type": "query"
              },
              {
                "name": "label",
                "value": "",
                "type": "query"
              },
              {
                "name": "tag",
                "value": "",
                "type": "query"
              },
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "page number, starts at 1"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "limit of items per page"
              },
              {
                "name": "fromUpdatedAt",
                "value": "",
                "type": "query",
                "description": "Optional filter to only include prompt versions created/updated on or after a certain datetime (ISO 8601)"
              },
              {
                "name": "toUpdatedAt",
                "value": "",
                "type": "query",
                "description": "Optional filter to only include prompt versions created/updated before a certain datetime (ISO 8601)"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a list of prompt names with versions and labels"
        },
        {
          "info": {
            "name": "prompts_create",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/v2/prompts",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create a new version for the prompt with the given `name`"
        }
      ]
    },
    {
      "info": {
        "name": "Scim",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "scim_getServiceProviderConfig",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/scim/ServiceProviderConfig",
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get SCIM Service Provider Configuration (requires organization-scoped API key)"
        },
        {
          "info": {
            "name": "scim_getResourceTypes",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/scim/ResourceTypes",
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get SCIM Resource Types (requires organization-scoped API key)"
        },
        {
          "info": {
            "name": "scim_getSchemas",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/scim/Schemas",
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get SCIM Schemas (requires organization-scoped API key)"
        },
        {
          "info": {
            "name": "scim_listUsers",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/scim/Users",
            "params": [
              {
                "name": "filter",
                "value": "",
                "type": "query",
                "description": "Filter expression (e.g. userName eq \"value\")"
              },
              {
                "name": "startIndex",
                "value": "",
                "type": "query",
                "description": "1-based index of the first result to return (default 1)"
              },
              {
                "name": "count",
                "value": "",
                "type": "query",
                "description": "Maximum number of results to return (default 100)"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "List users in the organization (requires organization-scoped API key)"
        },
        {
          "info": {
            "name": "scim_createUser",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/scim/Users",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create a new user in the organization (requires organization-scoped API key)"
        },
        {
          "info": {
            "name": "scim_getUser",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/scim/Users/:userId",
            "params": [
              {
                "name": "userId",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a specific user by ID (requires organization-scoped API key)"
        },
        {
          "info": {
            "name": "scim_deleteUser",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/public/scim/Users/:userId",
            "params": [
              {
                "name": "userId",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Remove a user from the organization (requires organization-scoped API key). Note that this only removes the user from the organization but does not delete the user entity itself."
        }
      ]
    },
    {
      "info": {
        "name": "ScoreConfigs",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "scoreConfigs_get",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/score-configs",
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "Page number, starts at 1."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Limit of items per page. If you encounter api issues due to too large page sizes, try to reduce the limit"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get all score configs"
        },
        {
          "info": {
            "name": "scoreConfigs_create",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/score-configs",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create a score configuration (config). Score configs are used to define the structure of scores"
        },
        {
          "info": {
            "name": "scoreConfigs_get-by-id",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/score-configs/:configId",
            "params": [
              {
                "name": "configId",
                "value": "",
                "type": "path",
                "description": "The unique langfuse identifier of a score config"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a score config"
        },
        {
          "info": {
            "name": "scoreConfigs_update",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "{{baseUrl}}/api/public/score-configs/:configId",
            "params": [
              {
                "name": "configId",
                "value": "",
                "type": "path",
                "description": "The unique langfuse identifier of a score config"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Update a score config"
        }
      ]
    },
    {
      "info": {
        "name": "Scores",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "scores_get-many",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/v2/scores",
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "Page number, starts at 1."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Limit of items per page. If you encounter api issues due to too large page sizes, try to reduce the limit."
              },
              {
                "name": "userId",
                "value": "",
                "type": "query",
                "description": "Retrieve only scores with this userId associated to the trace."
              },
              {
                "name": "name",
                "value": "",
                "type": "query",
                "description": "Retrieve only scores with this name."
              },
              {
                "name": "fromTimestamp",
                "value": "",
                "type": "query",
                "description": "Optional filter to only include scores created on or after a certain datetime (ISO 8601)"
              },
              {
                "name": "toTimestamp",
                "value": "",
                "type": "query",
                "description": "Optional filter to only include scores created before a certain datetime (ISO 8601)"
              },
              {
                "name": "environment",
                "value": "",
                "type": "query",
                "description": "Optional filter for scores where the environment is one of the provided values."
              },
              {
                "name": "source",
                "value": "",
                "type": "query",
                "description": "Retrieve only scores from a specific source."
              },
              {
                "name": "operator",
                "value": "",
                "type": "query",
                "description": "Retrieve only scores with <operator> value."
              },
              {
                "name": "value",
                "value": "",
                "type": "query",
                "description": "Retrieve only scores with <operator> value."
              },
              {
                "name": "scoreIds",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of score IDs to limit the results to."
              },
              {
                "name": "configId",
                "value": "",
                "type": "query",
                "description": "Retrieve only scores with a specific configId."
              },
              {
                "name": "sessionId",
                "value": "",
                "type": "query",
                "description": "Retrieve only scores with a specific sessionId."
              },
              {
                "name": "datasetRunId",
                "value": "",
                "type": "query",
                "description": "Retrieve only scores with a specific datasetRunId."
              },
              {
                "name": "traceId",
                "value": "",
                "type": "query",
                "description": "Retrieve only scores with a specific traceId."
              },
              {
                "name": "observationId",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of observation IDs to filter scores by."
              },
              {
                "name": "queueId",
                "value": "",
                "type": "query",
                "description": "Retrieve only scores with a specific annotation queueId."
              },
              {
                "name": "dataType",
                "value": "",
                "type": "query",
                "description": "Retrieve only scores with a specific dataType."
              },
              {
                "name": "traceTags",
                "value": "",
                "type": "query",
                "description": "Only scores linked to traces that include all of these tags will be returned."
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of field groups to include in the response. Available field groups: 'score' (core score fields), 'trace' (trace properties: userId, tags, environment, sessionId). If not specified, both 'score' and 'trace' are returned by default. Example: 'score' to exclude trace data, 'score,trace' to include both. Note: When filtering by trace properties (using userId or traceTags parameters), the 'trace' field group must be included, otherwise a 400 error will be returned."
              },
              {
                "name": "filter",
                "value": "",
                "type": "query",
                "description": "A JSON stringified array of filter objects. Each object requires type, column, operator, and value. Supports filtering by score metadata using the stringObject type. Example: [{\"type\":\"stringObject\",\"column\":\"metadata\",\"key\":\"user_id\",\"operator\":\"=\",\"value\":\"abc123\"}]. Supported types: stringObject (metadata key-value filtering), string, number, datetime, stringOptions, arrayOptions. Supported operators for stringObject: =, contains, does not contain, starts with, ends with."
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a list of scores (supports both trace and session scores)"
        },
        {
          "info": {
            "name": "scores_get-by-id",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/v2/scores/:scoreId",
            "params": [
              {
                "name": "scoreId",
                "value": "",
                "type": "path",
                "description": "The unique langfuse identifier of a score"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a score (supports both trace and session scores)"
        }
      ]
    },
    {
      "info": {
        "name": "Sessions",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "sessions_list",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/sessions",
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "Page number, starts at 1"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Limit of items per page. If you encounter api issues due to too large page sizes, try to reduce the limit."
              },
              {
                "name": "fromTimestamp",
                "value": "",
                "type": "query",
                "description": "Optional filter to only include sessions created on or after a certain datetime (ISO 8601)"
              },
              {
                "name": "toTimestamp",
                "value": "",
                "type": "query",
                "description": "Optional filter to only include sessions created before a certain datetime (ISO 8601)"
              },
              {
                "name": "environment",
                "value": "",
                "type": "query",
                "description": "Optional filter for sessions where the environment is one of the provided values."
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get sessions"
        },
        {
          "info": {
            "name": "sessions_get",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/sessions/:sessionId",
            "params": [
              {
                "name": "sessionId",
                "value": "",
                "type": "path",
                "description": "The unique id of a session"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a session. Please note that `traces` on this endpoint are not paginated, if you plan to fetch large sessions, consider `GET /api/public/traces?sessionId=<sessionId>`"
        }
      ]
    },
    {
      "info": {
        "name": "Trace",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "trace_get",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/traces/:traceId",
            "params": [
              {
                "name": "traceId",
                "value": "",
                "type": "path",
                "description": "The unique langfuse identifier of a trace"
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of fields to include in the response. Available field groups: 'core' (always included), 'io' (input, output, metadata), 'scores', 'observations', 'metrics'. If not specified, all fields are returned. Example: 'core,scores,metrics'. Note: Excluded 'observations' or 'scores' fields return empty arrays; excluded 'metrics' returns -1 for 'totalCost' and 'latency'."
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get a specific trace"
        },
        {
          "info": {
            "name": "trace_delete",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/public/traces/:traceId",
            "params": [
              {
                "name": "traceId",
                "value": "",
                "type": "path",
                "description": "The unique langfuse identifier of the trace to delete"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Delete a specific trace"
        },
        {
          "info": {
            "name": "trace_list",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/traces",
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "Page number, starts at 1"
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Limit of items per page. If you encounter api issues due to too large page sizes, try to reduce the limit."
              },
              {
                "name": "userId",
                "value": "",
                "type": "query"
              },
              {
                "name": "name",
                "value": "",
                "type": "query"
              },
              {
                "name": "sessionId",
                "value": "",
                "type": "query"
              },
              {
                "name": "fromTimestamp",
                "value": "",
                "type": "query",
                "description": "Optional filter to only include traces with a trace.timestamp on or after a certain datetime (ISO 8601)"
              },
              {
                "name": "toTimestamp",
                "value": "",
                "type": "query",
                "description": "Optional filter to only include traces with a trace.timestamp before a certain datetime (ISO 8601)"
              },
              {
                "name": "orderBy",
                "value": "",
                "type": "query",
                "description": "Format of the string [field].[asc/desc]. Fields: id, timestamp, name, userId, release, version, public, bookmarked, sessionId. Example: timestamp.asc"
              },
              {
                "name": "tags",
                "value": "",
                "type": "query",
                "description": "Only traces that include all of these tags will be returned."
              },
              {
                "name": "version",
                "value": "",
                "type": "query",
                "description": "Optional filter to only include traces with a certain version."
              },
              {
                "name": "release",
                "value": "",
                "type": "query",
                "description": "Optional filter to only include traces with a certain release."
              },
              {
                "name": "environment",
                "value": "",
                "type": "query",
                "description": "Optional filter for traces where the environment is one of the provided values."
              },
              {
                "name": "fields",
                "value": "",
                "type": "query",
                "description": "Comma-separated list of fields to include in the response. Available field groups: 'core' (always included), 'io' (input, output, metadata), 'scores', 'observations', 'metrics'. If not specified, all fields are returned. Example: 'core,scores,metrics'. Note: Excluded 'observations' or 'scores' fields return empty arrays; excluded 'metrics' returns -1 for 'totalCost' and 'latency'."
              },
              {
                "name": "filter",
                "value": "",
                "type": "query",
                "description": "JSON string containing an array of filter conditions. When provided, this takes precedence over query parameter filters (userId, name, sessionId, tags, version, release, environment, fromTimestamp, toTimestamp).\n\n## Filter Structure\nEach filter condition has the following structure:\n```json\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## Available Columns\n\n### Core Trace Fields\n- `id` (string) - Trace ID\n- `name` (string) - Trace name\n- `timestamp` (datetime) - Trace timestamp\n- `userId` (string) - User ID\n- `sessionId` (string) - Session ID\n- `environment` (string) - Environment tag\n- `version` (string) - Version tag\n- `release` (string) - Release tag\n- `tags` (arrayOptions) - Array of tags\n- `bookmarked` (boolean) - Bookmark status\n\n### Structured Data\n- `metadata` (stringObject/numberObject/categoryOptions) - Metadata key-value pairs. Use `key` parameter to filter on specific metadata keys.\n\n### Aggregated Metrics (from observations)\nThese metrics are aggregated from all observations within the trace:\n- `latency` (number) - Latency in seconds (time from first observation start to last observation end)\n- `inputTokens` (number) - Total input tokens across all observations\n- `outputTokens` (number) - Total output tokens across all observations\n- `totalTokens` (number) - Total tokens (alias: `tokens`)\n- `inputCost` (number) - Total input cost in USD\n- `outputCost` (number) - Total output cost in USD\n- `totalCost` (number) - Total cost in USD\n\n### Observation Level Aggregations\nThese fields aggregate observation levels within the trace:\n- `level` (string) - Highest severity level (ERROR > WARNING > DEFAULT > DEBUG)\n- `warningCount` (number) - Count of WARNING level observations\n- `errorCount` (number) - Count of ERROR level observations\n- `defaultCount` (number) - Count of DEFAULT level observations\n- `debugCount` (number) - Count of DEBUG level observations\n\n### Scores (requires join with scores table)\n- `scores_avg` (number) - Average of numeric scores (alias: `scores`)\n- `score_categories` (categoryOptions) - Categorical score values\n\n## Filter Examples\n```json\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## Performance Notes\n- Filtering on `userId`, `sessionId`, or `metadata` may enable skip indexes for better query performance\n- Score filters require a join with the scores table and may impact query performance"
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get list of traces"
        },
        {
          "info": {
            "name": "trace_deleteMultiple",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/public/traces",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Delete multiple traces"
        }
      ]
    },
    {
      "info": {
        "name": "UnstableEvaluationRules",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "unstable_evaluationRules_list",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/unstable/evaluation-rules",
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "1-based page number. Defaults to `1`."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Maximum number of items per page. Defaults to `50`."
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "List evaluation rules in the authenticated project.\n\nEach item describes one live evaluation rule and its effective runtime status."
        },
        {
          "info": {
            "name": "unstable_evaluationRules_create",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/unstable/evaluation-rules",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create an evaluation rule.\n\nAn evaluation rule defines **what** incoming data should be evaluated and **how prompt variables should be populated** from that data.\n\nUse this resource after choosing an evaluator from the evaluator endpoints.\n\nKey rules:\n- `name` must be unique within the project for public evaluation rules\n- `target` must be `observation` or `experiment`\n- `evaluator.name` + `evaluator.scope` must identify an existing evaluator family returned by the evaluator endpoints\n- Langfuse"
        },
        {
          "info": {
            "name": "unstable_evaluationRules_get",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/unstable/evaluation-rules/:evaluationRuleId",
            "params": [
              {
                "name": "evaluationRuleId",
                "value": "",
                "type": "path",
                "description": "Evaluation rule identifier returned by the evaluation rule endpoints."
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get one evaluation rule by its identifier.\n\nUse this endpoint to inspect the current evaluator, target, mapping, filters, and effective runtime status."
        },
        {
          "info": {
            "name": "unstable_evaluationRules_update",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "{{baseUrl}}/api/public/unstable/evaluation-rules/:evaluationRuleId",
            "params": [
              {
                "name": "evaluationRuleId",
                "value": "",
                "type": "path",
                "description": "Evaluation rule identifier."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Update an evaluation rule.\n\nTypical uses:\n- enable or disable live execution\n- switch to another evaluator\n- adjust sampling\n- change filters\n- update variable mappings\n\nImportant behavior:\n- provide only the fields you want to change\n- if you provide `evaluator`, Langfuse resolves that evaluator family to its latest version before saving\n- changing `target`, `filter`, or `mapping` must still produce a valid target-specific configuration\n- if you change `target`, also send a compatible `filter` "
        },
        {
          "info": {
            "name": "unstable_evaluationRules_delete",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/public/unstable/evaluation-rules/:evaluationRuleId",
            "params": [
              {
                "name": "evaluationRuleId",
                "value": "",
                "type": "path",
                "description": "Evaluation rule identifier."
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Delete an evaluation rule.\n\nThis removes the live-ingestion rule only. It does not delete the referenced evaluator."
        }
      ]
    },
    {
      "info": {
        "name": "UnstableEvaluators",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "unstable_evaluators_list",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/unstable/evaluators",
            "params": [
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "1-based page number. Defaults to `1`."
              },
              {
                "name": "limit",
                "value": "",
                "type": "query",
                "description": "Maximum number of items per page. Defaults to `50`."
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "List the evaluators available to the authenticated project.\n\nImportant behavior:\n- This endpoint returns the latest version of each available evaluator.\n- Results can include evaluators from your project and Langfuse-managed evaluators.\n- If the same evaluator name exists in both places, both are returned as separate items with different `scope` values."
        },
        {
          "info": {
            "name": "unstable_evaluators_create",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/public/unstable/evaluators",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Create an evaluator in the authenticated project.\n\nUse evaluators to define **how** Langfuse should score data: the prompt, the expected structured output, and the optional model configuration.\n\nNaming behavior:\n- If this is a new evaluator name in your project, Langfuse creates version `1`.\n- If the name already exists in your project, Langfuse creates the next version and returns it.\n- When a new project version is created, existing evaluation rules in that project automatically move to the ne"
        },
        {
          "info": {
            "name": "unstable_evaluators_get",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/public/unstable/evaluators/:evaluatorId",
            "params": [
              {
                "name": "evaluatorId",
                "value": "",
                "type": "path",
                "description": "Evaluator identifier returned by the evaluator endpoints."
              }
            ],
            "auth": {
              "type": "basic",
              "username": "{{username}}",
              "password": "{{password}}"
            }
          },
          "docs": "Get one evaluator by `id`.\n\nUse this endpoint when you want the prompt, output definition, model configuration, and derived variables for the evaluator you plan to use in an evaluation rule."
        }
      ]
    }
  ],
  "bundled": true
}