diff --git a/openapi/spec.json b/openapi/spec.json index d263fe5..a72623f 100644 --- a/openapi/spec.json +++ b/openapi/spec.json @@ -1,5 +1,5 @@ { - "openapi": "3.0.3", + "openapi": "3.1.1", "info": { "version": "1.0.0", "title": "Braintrust API", @@ -53,9 +53,7 @@ }, "metadata": { "type": "object", - "additionalProperties": { - "nullable": true - } + "additionalProperties": {} } }, "required": [ @@ -85,9 +83,7 @@ }, "metadata": { "type": "object", - "additionalProperties": { - "nullable": true - } + "additionalProperties": {} } }, "required": [ @@ -381,21 +377,27 @@ "description": "Filter search results to a particular set of object IDs. To specify a list of IDs, include the query param multiple times" }, "AppLimitParam": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "minimum": 0, "description": "Limit the number of objects to return" }, "AppLimitWithDefaultParam": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "minimum": 0, "default": 1000, "description": "Limit the number of objects to return" }, "FetchLimitParam": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "minimum": 0, "description": "Limit the number of traces fetched\n\nFetch queries may be paginated if the total result size is expected to be large (e.g. project_logs which accumulate over a long time). Note that fetch queries only support pagination in descending time order (from latest to earliest `_xact_id`). Furthermore, later pages may return rows which showed up in earlier pages, except with an earlier `_xact_id`. This happens because pagination occurs over the whole version history of the event log. You will most likely want to exclude any such duplicate, outdated rows (by `id`) from your combined result set.\n\nThe `limit` parameter controls the number of full traces to return. So you may end up with more individual rows than the specified limit if you are fetching events containing traces." }, @@ -430,8 +432,10 @@ "description": "Filter by environment slug. Cannot be used together with `version`.\n\nFor `GET /v1/prompt`, environment resolution currently requires the request to match a single prompt. If multiple prompts match, the endpoint returns `400` (for example when `limit=1` is not set). Use `limit=1` or other filters (for example `slug`, `project_id`) to narrow results." }, "SummarizeScores": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Whether to summarize the scores and metrics. If false (or omitted), only the metadata will be returned." }, "ComparisonExperimentId": { @@ -440,8 +444,10 @@ "description": "The experiment to compare against, if summarizing scores and metrics. If omitted, will fall back to the `base_exp_id` stored in the experiment metadata, and then to the most recent experiment run in the same project. Must pass `summarize_scores=true` for this id to be used" }, "SummarizeData": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Whether to summarize the data. If false (or omitted), only the metadata will be returned." }, "Slug": { @@ -468,8 +474,7 @@ "monitor", "for_review_project_log", "for_review_experiments", - "for_review_datasets", - null + "for_review_datasets" ], "description": "Type of object that the view corresponds to." }, @@ -678,8 +683,7 @@ "classifier", "tag", "parameters", - "sandbox", - null + "sandbox" ], "default": "scorer", "description": "The type of global function. Defaults to 'scorer'." @@ -738,23 +742,31 @@ "description": "Default preprocessor for this project. When set, functions that use preprocessors will use this instead of their built-in default." }, "ProjectSettings": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "comparison_key": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The key used to join two experiments (defaults to `input`)" }, "baseline_experiment_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "The id of the experiment to use as the default baseline for comparisons" }, "spanFieldOrder": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "object", "properties": { @@ -796,8 +808,10 @@ "description": "The order of the fields to display in the trace view" }, "remote_eval_sources": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "object", "properties": { @@ -805,12 +819,16 @@ "type": "string" }, "name": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "description": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] } }, "required": [ @@ -820,28 +838,38 @@ "description": "The remote eval sources to use for the project" }, "disable_realtime_queries": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "If true, disable real-time queries for this project. This can improve query performance for high-volume logs." }, "monitor_charts_use_metrics_start": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "If true, use metrics.start rather than created for monitor chart time bucket dimensions." }, "coding_agent_insights_dashboard": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "If true, enable the agent insights dashboard for this project." }, "blind_reviews": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "If true, hide peer review scores, comments, and aggregate results from reviewers without project update permissions until they submit their own review." }, "require_all_human_review_scores": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "If true, automatically complete a review after every assigned reviewer fills all human review scores visible to them." }, "default_preprocessor": { @@ -867,25 +895,33 @@ "description": "Name of the project" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the project" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of project creation" }, "deleted_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of project deletion, or null if the project is still active" }, "user_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifies the user who created the project" }, @@ -908,18 +944,24 @@ "description": "Name of the project" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the project" }, "org_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization the project belongs in." }, "project_group_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "minLength": 1, "description": "Create the project within the named project group in this organization. Requires project_group:update on the group's definition." } @@ -932,17 +974,23 @@ "type": "object", "properties": { "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the project" }, "description": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "user_id": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "settings": { "allOf": [ @@ -972,8 +1020,10 @@ ] }, "SpanType": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "enum": [ "llm", "score", @@ -994,20 +1044,26 @@ "description": "Type of the span, for display purposes only" }, "SpanAttributes": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the span, for display purposes only" }, "type": { "$ref": "#/components/schemas/SpanType" }, "purpose": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "enum": [ "scorer", null @@ -1015,8 +1071,10 @@ "description": "A special value that indicates the span was generated by a scoring automation" }, "log_level": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "enum": [ "trace", "debug", @@ -1029,14 +1087,14 @@ "description": "Severity level of a log" } }, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "Human-identifying attributes of the span, such as name, type, etc." }, "ObjectReferenceNullish": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "object_type": { "type": "string", @@ -1060,13 +1118,17 @@ "description": "ID of the original event." }, "_xact_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Transaction ID of the original event." }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Created timestamp of the original event. Used to help sort in the UI" } }, @@ -1081,94 +1143,107 @@ "type": "object", "properties": { "input": { - "nullable": true, "description": "The arguments that uniquely define a user input (an arbitrary, JSON serializable object)." }, "output": { - "nullable": true, "description": "The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question." }, "expected": { - "nullable": true, "description": "The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models." }, "error": { - "nullable": true, "description": "The error that occurred, if any." }, "scores": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "minimum": 0, "maximum": 1 }, "description": "A dictionary of numeric values (between 0 and 1) to log. The scores should give you a variety of signals that help you determine how accurate the outputs are compared to what you expect and diagnose failures. For example, a summarization app might have one score that tells you how accurate the summary is, and another that measures the word similarity between the generated and grouth truth summary. The word similarity score could help you determine whether the summarization was covering similar concepts or not. You can use these scores to help you sort, filter, and compare logs." }, "metadata": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "model": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The model used for this example" } }, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "A dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, "description": "A list of tags to log" }, "metrics": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "start": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "description": "A unix timestamp recording when the section of code which produced the project logs event started" }, "end": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "description": "A unix timestamp recording when the section of code which produced the project logs event finished" }, "prompt_tokens": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "description": "The number of tokens in the prompt used to generate the project logs event (only set if this is an LLM span)" }, "completion_tokens": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "description": "The number of tokens in the completion generated by the model (only set if this is an LLM span)" }, "tokens": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "description": "The total number of tokens in the input and output of the project logs event." }, "caller_functionname": { - "nullable": true, "description": "Deprecated. Use `context.caller_functionname` instead." }, "caller_filename": { - "nullable": true, "description": "Deprecated. Use `context.caller_filename` instead." }, "caller_lineno": { - "nullable": true, "description": "Deprecated. Use `context.caller_lineno` instead." } }, @@ -1178,41 +1253,51 @@ "description": "Metrics are numerical measurements tracking the execution of the code that produced the project logs event. Use \"start\" and \"end\" to track the time span over which the project logs event was produced" }, "context": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "caller_functionname": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The function in code which created the project logs event" }, "caller_filename": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the file in code where the project logs event was created" }, "caller_lineno": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "description": "Line of code where the project logs event was created" } }, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "Context is additional information about the code that produced the project logs event. It is essentially the textual counterpart to `metrics`. Use the `caller_*` attributes to track the location in code which produced the project logs event" }, "span_attributes": { "$ref": "#/components/schemas/SpanAttributes" }, "id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "The timestamp the project logs event was created" }, @@ -1220,27 +1305,37 @@ "$ref": "#/components/schemas/ObjectReferenceNullish" }, "facets": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "description": "Facets for categorization (dictionary from facet id to value)" }, "_object_delete": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Pass `_object_delete=true` to mark the project logs event deleted. Deleted events will not show up in subsequent fetches for this project logs" }, "_is_merge": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "The `_is_merge` field controls how the row is merged with any existing row with the same id in the DB. By default (or when set to `false`), the existing row is completely replaced by the new row. When set to `true`, the new row is deep-merged into the existing row, if one is found. If no existing row is found, the new row is inserted as is.\n\nFor example, say there is an existing row in the DB `{\"id\": \"foo\", \"input\": {\"a\": 5, \"b\": 10}}`. If we merge a new row as `{\"_is_merge\": true, \"id\": \"foo\", \"input\": {\"b\": 11, \"c\": 20}}`, the new row will be `{\"id\": \"foo\", \"input\": {\"a\": 5, \"b\": 11, \"c\": 20}}`. If we replace the new row as `{\"id\": \"foo\", \"input\": {\"b\": 11, \"c\": 20}}`, the new row will be `{\"id\": \"foo\", \"input\": {\"b\": 11, \"c\": 20}}`" }, "_merge_paths": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "array", "items": { @@ -1250,8 +1345,10 @@ "description": "The `_merge_paths` field allows controlling the depth of the merge, when `_is_merge=true`. `_merge_paths` is a list of paths, where each path is a list of field names. The deep merge will not descend below any of the specified merge paths.\n\nFor example, say there is an existing row in the DB `{\"id\": \"foo\", \"input\": {\"a\": {\"b\": 10}, \"c\": {\"d\": 20}}, \"output\": {\"a\": 20}}`. If we merge a new row as `{\"_is_merge\": true, \"_merge_paths\": [[\"input\", \"a\"], [\"output\"]], \"input\": {\"a\": {\"q\": 30}, \"c\": {\"e\": 30}, \"bar\": \"baz\"}, \"output\": {\"d\": 40}}`, the new row will be `{\"id\": \"foo\": \"input\": {\"a\": {\"q\": 30}, \"c\": {\"d\": 20, \"e\": 30}, \"bar\": \"baz\"}, \"output\": {\"d\": 40}}`. In this case, due to the merge paths, we have replaced `input.a` and `output`, but have still deep-merged `input` and `input.c`." }, "_array_delete": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "object", "properties": { @@ -1263,9 +1360,7 @@ }, "delete": { "type": "array", - "items": { - "nullable": true - } + "items": {} } }, "required": [ @@ -1276,27 +1371,35 @@ "description": "The `_array_delete` field allows removing specific values from array fields. It is an array of objects with `path` and `delete` properties.\n\nFor example, to remove tags \"foo\" and \"bar\" from an existing row: `{\"_is_merge\": true, \"_array_delete\": [{\"path\": [\"tags\"], \"delete\": [\"foo\", \"bar\"]}]}`. For nested fields like `metadata.categories`, use `[{\"path\": [\"metadata\", \"categories\"], \"delete\": [\"value\"]}]`. This will remove those specific values from the array while preserving others." }, "_parent_id": { - "type": "string", - "nullable": true, - "description": "DEPRECATED: The `_parent_id` field is deprecated and should not be used. Support for `_parent_id` will be dropped in a future version of Braintrust. Log `span_id`, `root_span_id`, and `span_parents` explicitly instead.\n\nUse the `_parent_id` field to create this row as a subspan of an existing row. Tracking hierarchical relationships are important for tracing (see the [guide](https://www.braintrust.dev/docs/instrument) for full details).\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"_parent_id\": \"abc\", \"id\": \"llm_call\", \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." + "type": [ + "string", + "null" + ], + "description": "DEPRECATED: The `_parent_id` field is deprecated and should not be used. Support for `_parent_id` will be dropped in a future version of Braintrust. Log `span_id`, `root_span_id`, and `span_parents` explicitly instead.\n\nUse the `_parent_id` field to create this row as a subspan of an existing row. Tracking hierarchical relationships are important for tracing (see the [guide](https://docs.braintrust.dev/instrument) for full details).\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"_parent_id\": \"abc\", \"id\": \"llm_call\", \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." }, "span_id": { - "type": "string", - "nullable": true, - "description": "Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the [guide](https://www.braintrust.dev/docs/instrument) for full details.\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"span_id\": \"span0\", \"root_span_id\": \"root_span0\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"id\": \"llm_call\", \"span_id\": \"span1\", \"root_span_id\": \"root_span0\", \"span_parents\": [\"span0\"], \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." + "type": [ + "string", + "null" + ], + "description": "Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the [guide](https://docs.braintrust.dev/instrument) for full details.\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"span_id\": \"span0\", \"root_span_id\": \"root_span0\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"id\": \"llm_call\", \"span_id\": \"span1\", \"root_span_id\": \"root_span0\", \"span_parents\": [\"span0\"], \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." }, "root_span_id": { - "type": "string", - "nullable": true, - "description": "Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the [guide](https://www.braintrust.dev/docs/instrument) for full details.\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"span_id\": \"span0\", \"root_span_id\": \"root_span0\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"id\": \"llm_call\", \"span_id\": \"span1\", \"root_span_id\": \"root_span0\", \"span_parents\": [\"span0\"], \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." + "type": [ + "string", + "null" + ], + "description": "Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the [guide](https://docs.braintrust.dev/instrument) for full details.\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"span_id\": \"span0\", \"root_span_id\": \"root_span0\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"id\": \"llm_call\", \"span_id\": \"span1\", \"root_span_id\": \"root_span0\", \"span_parents\": [\"span0\"], \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." }, "span_parents": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, - "description": "Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the [guide](https://www.braintrust.dev/docs/instrument) for full details.\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"span_id\": \"span0\", \"root_span_id\": \"root_span0\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"id\": \"llm_call\", \"span_id\": \"span1\", \"root_span_id\": \"root_span0\", \"span_parents\": [\"span0\"], \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." + "description": "Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the [guide](https://docs.braintrust.dev/instrument) for full details.\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"span_id\": \"span0\", \"root_span_id\": \"root_span0\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"id\": \"llm_call\", \"span_id\": \"span1\", \"root_span_id\": \"root_span0\", \"span_parents\": [\"span0\"], \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." } }, "description": "A project logs event" @@ -1381,8 +1484,10 @@ "description": "The transaction id of an event is unique to the network operation that processed the event insertion. Transaction ids are monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter)" }, "_pagination_key": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore." }, "created": { @@ -1408,94 +1513,107 @@ "description": "A literal 'g' which identifies the log as a project log" }, "input": { - "nullable": true, "description": "The arguments that uniquely define a user input (an arbitrary, JSON serializable object)." }, "output": { - "nullable": true, "description": "The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question." }, "expected": { - "nullable": true, "description": "The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models." }, "error": { - "nullable": true, "description": "The error that occurred, if any." }, "scores": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "minimum": 0, "maximum": 1 }, "description": "A dictionary of numeric values (between 0 and 1) to log. The scores should give you a variety of signals that help you determine how accurate the outputs are compared to what you expect and diagnose failures. For example, a summarization app might have one score that tells you how accurate the summary is, and another that measures the word similarity between the generated and grouth truth summary. The word similarity score could help you determine whether the summarization was covering similar concepts or not. You can use these scores to help you sort, filter, and compare logs." }, "metadata": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "model": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The model used for this example" } }, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "A dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, "description": "A list of tags to log" }, "metrics": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "start": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "description": "A unix timestamp recording when the section of code which produced the project logs event started" }, "end": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "description": "A unix timestamp recording when the section of code which produced the project logs event finished" }, "prompt_tokens": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "description": "The number of tokens in the prompt used to generate the project logs event (only set if this is an LLM span)" }, "completion_tokens": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "description": "The number of tokens in the completion generated by the model (only set if this is an LLM span)" }, "tokens": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "description": "The total number of tokens in the input and output of the project logs event." }, "caller_functionname": { - "nullable": true, "description": "Deprecated. Use `context.caller_functionname` instead." }, "caller_filename": { - "nullable": true, "description": "Deprecated. Use `context.caller_filename` instead." }, "caller_lineno": { - "nullable": true, "description": "Deprecated. Use `context.caller_lineno` instead." } }, @@ -1505,37 +1623,45 @@ "description": "Metrics are numerical measurements tracking the execution of the code that produced the project logs event. Use \"start\" and \"end\" to track the time span over which the project logs event was produced" }, "context": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "caller_functionname": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The function in code which created the project logs event" }, "caller_filename": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the file in code where the project logs event was created" }, "caller_lineno": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "description": "Line of code where the project logs event was created" } }, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "Context is additional information about the code that produced the project logs event. It is essentially the textual counterpart to `metrics`. Use the `caller_*` attributes to track the location in code which produced the project logs event" }, "span_id": { "type": "string", - "description": "A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing" + "description": "A unique identifier used to link different project logs events together as part of a full trace. See the [tracing guide](https://docs.braintrust.dev/instrument) for full details on tracing" }, "span_parents": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -1546,8 +1672,10 @@ "description": "A unique identifier for the trace this project logs event belongs to" }, "is_root": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Whether this span is a root span" }, "span_attributes": { @@ -1557,37 +1685,42 @@ "$ref": "#/components/schemas/ObjectReferenceNullish" }, "comments": { - "type": "array", - "nullable": true, - "items": { - "nullable": true - }, + "type": [ + "array", + "null" + ], + "items": {}, "description": "Optional list of comments attached to this event" }, "audit_data": { - "type": "array", - "nullable": true, - "items": { - "nullable": true - }, + "type": [ + "array", + "null" + ], + "items": {}, "description": "Optional list of audit entries attached to this event" }, "_async_scoring_state": { - "nullable": true, "description": "The async scoring state for this event" }, "facets": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "description": "Facets for categorization (dictionary from facet id to value)" }, "classifications": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { "type": "array", "items": { @@ -1602,16 +1735,18 @@ "description": "Original label of the classification item, which is useful for search and indexing purposes" }, "confidence": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "description": "Optional confidence score for the classification" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "Optional metadata associated with the classification" }, "source": { @@ -1648,8 +1783,10 @@ "description": "A list of fetched events" }, "cursor": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Pagination cursor\n\nPass this string directly as the `cursor` param to your next fetch request to get the next page of results. Not provided if the returned result set is empty." } }, @@ -1658,14 +1795,18 @@ ] }, "FetchLimit": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "minimum": 0, "description": "Limit the number of traces fetched\n\nFetch queries may be paginated if the total result size is expected to be large (e.g. project_logs which accumulate over a long time). Note that fetch queries only support pagination in descending time order (from latest to earliest `_xact_id`). Furthermore, later pages may return rows which showed up in earlier pages, except with an earlier `_xact_id`. This happens because pagination occurs over the whole version history of the event log. You will most likely want to exclude any such duplicate, outdated rows (by `id`) from your combined result set.\n\nThe `limit` parameter controls the number of full traces to return. So you may end up with more individual rows than the specified limit if you are fetching events containing traces." }, "FetchPaginationCursor": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "An opaque string to be used as a cursor for the next page of results, in order from latest to earliest.\n\nThe string can be obtained directly from the `cursor` property of the previous fetch query" }, "FetchEventsRequest": { @@ -1678,16 +1819,34 @@ "$ref": "#/components/schemas/FetchPaginationCursor" }, "max_xact_id": { - "$ref": "#/components/schemas/MaxXactId", - "nullable": true + "anyOf": [ + { + "$ref": "#/components/schemas/MaxXactId" + }, + { + "type": "null" + } + ] }, "max_root_span_id": { - "$ref": "#/components/schemas/MaxRootSpanId", - "nullable": true + "anyOf": [ + { + "$ref": "#/components/schemas/MaxRootSpanId" + }, + { + "type": "null" + } + ] }, "version": { - "$ref": "#/components/schemas/Version", - "nullable": true + "anyOf": [ + { + "$ref": "#/components/schemas/Version" + }, + { + "type": "null" + } + ] } } }, @@ -1713,36 +1872,43 @@ "description": "The id of the project logs event to log feedback for. This is the row `id` returned by `POST /v1/project_logs/{project_id}/insert`" }, "scores": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "minimum": 0, "maximum": 1 }, "description": "A dictionary of numeric values (between 0 and 1) to log. These scores will be merged into the existing scores for the project logs event" }, "expected": { - "nullable": true, "description": "The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not" }, "comment": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "An optional comment string to log about the project logs event" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "A dictionary with additional data about the feedback. If you have a `user_id`, you can log it here and access it in the Braintrust UI. Note, this metadata does not correspond to the main event itself, but rather the audit log attached to the event." }, "source": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "enum": [ "app", "api", @@ -1752,8 +1918,10 @@ "description": "The source of the feedback. Must be one of \"external\" (default), \"app\", or \"api\"" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -1780,52 +1948,72 @@ ] }, "RepoInfo": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "commit": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "SHA of most recent commit" }, "branch": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the branch the most recent commit belongs to" }, "tag": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the tag on the most recent commit" }, "dirty": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Whether or not the repo had uncommitted changes when snapshotted" }, "author_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the author of the most recent commit" }, "author_email": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Email of the author of the most recent commit" }, "commit_message": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Most recent commit message" }, "commit_time": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Time of the most recent commit" }, "git_diff": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "If the repo was dirty when run, this includes the diff between the current state of the repo and the most recent commit." } }, @@ -1849,13 +2037,17 @@ "description": "Name of the experiment. Within a project, experiment names are unique" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the experiment" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of experiment creation" }, @@ -1863,60 +2055,74 @@ "$ref": "#/components/schemas/RepoInfo" }, "commit": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Commit, taken directly from `repo_info.commit`" }, "base_exp_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Id of default base experiment to compare against when viewing this experiment" }, "deleted_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of experiment deletion, or null if the experiment is still active" }, "dataset_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifier of the linked dataset, or null if the experiment is not linked to a dataset" }, "dataset_version": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Version number of the linked dataset the experiment was run against. This can be used to reproduce the experiment after the dataset has been modified." }, "internal_metadata": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "dataset_filter": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "BTQL filter payload used to evaluate a subset of a linked dataset." } }, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "Braintrust-controlled metadata about the experiment." }, "parameters_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifier of the linked saved parameters object, or null if the experiment is not linked to saved parameters" }, "parameters_version": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Version number of the linked saved parameters object the experiment was run against." }, "public": { @@ -1924,22 +2130,26 @@ "description": "Whether or not the experiment is public. Public experiments can be viewed by anybody inside or outside the organization" }, "user_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifies the user who created the experiment" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "User-controlled metadata about the experiment" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -1962,89 +2172,109 @@ "description": "Unique identifier for the project that the experiment belongs under" }, "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "minLength": 1, "description": "Name of the experiment. Within a project, experiment names are unique" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the experiment" }, "repo_info": { "$ref": "#/components/schemas/RepoInfo" }, "base_exp_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Id of default base experiment to compare against when viewing this experiment" }, "dataset_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifier of the linked dataset, or null if the experiment is not linked to a dataset" }, "dataset_version": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Version number of the linked dataset the experiment was run against. This can be used to reproduce the experiment after the dataset has been modified." }, "internal_metadata": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "dataset_filter": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "BTQL filter payload used to evaluate a subset of a linked dataset." } }, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "Braintrust-controlled metadata about the experiment." }, "parameters_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifier of the linked saved parameters object, or null if the experiment is not linked to saved parameters" }, "parameters_version": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Version number of the linked saved parameters object the experiment was run against." }, "public": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Whether or not the experiment is public. Public experiments can be viewed by anybody inside or outside the organization" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "User-controlled metadata about the experiment" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, "description": "A list of tags for the experiment" }, "ensure_new": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Normally, creating an experiment with the same name as an existing experiment will return the existing one un-modified. But if `ensure_new` is true, registration will generate a new experiment with a unique name in case of a conflict." } }, @@ -2056,80 +2286,98 @@ "type": "object", "properties": { "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the experiment. Within a project, experiment names are unique" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the experiment" }, "repo_info": { "$ref": "#/components/schemas/RepoInfo" }, "base_exp_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Id of default base experiment to compare against when viewing this experiment" }, "dataset_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifier of the linked dataset, or null if the experiment is not linked to a dataset" }, "dataset_version": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Version number of the linked dataset the experiment was run against. This can be used to reproduce the experiment after the dataset has been modified." }, "internal_metadata": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "dataset_filter": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "BTQL filter payload used to evaluate a subset of a linked dataset." } }, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "Braintrust-controlled metadata about the experiment." }, "parameters_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifier of the linked saved parameters object, or null if the experiment is not linked to saved parameters" }, "parameters_version": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Version number of the linked saved parameters object the experiment was run against." }, "public": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Whether or not the experiment is public. Public experiments can be viewed by anybody inside or outside the organization" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "User-controlled metadata about the experiment" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -2141,94 +2389,107 @@ "type": "object", "properties": { "input": { - "nullable": true, "description": "The arguments that uniquely define a test case (an arbitrary, JSON serializable object). Later on, Braintrust will use the `input` to know whether two test cases are the same between experiments, so they should not contain experiment-specific state. A simple rule of thumb is that if you run the same experiment twice, the `input` should be identical" }, "output": { - "nullable": true, "description": "The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question" }, "expected": { - "nullable": true, "description": "The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate your experiments while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models" }, "error": { - "nullable": true, "description": "The error that occurred, if any." }, "scores": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "minimum": 0, "maximum": 1 }, "description": "A dictionary of numeric values (between 0 and 1) to log. The scores should give you a variety of signals that help you determine how accurate the outputs are compared to what you expect and diagnose failures. For example, a summarization app might have one score that tells you how accurate the summary is, and another that measures the word similarity between the generated and grouth truth summary. The word similarity score could help you determine whether the summarization was covering similar concepts or not. You can use these scores to help you sort, filter, and compare experiments" }, "metadata": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "model": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The model used for this example" } }, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "A dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, "description": "A list of tags to log" }, "metrics": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "start": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "description": "A unix timestamp recording when the section of code which produced the experiment event started" }, "end": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "description": "A unix timestamp recording when the section of code which produced the experiment event finished" }, "prompt_tokens": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "description": "The number of tokens in the prompt used to generate the experiment event (only set if this is an LLM span)" }, "completion_tokens": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "description": "The number of tokens in the completion generated by the model (only set if this is an LLM span)" }, "tokens": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "description": "The total number of tokens in the input and output of the experiment event." }, "caller_functionname": { - "nullable": true, "description": "Deprecated. Use `context.caller_functionname` instead." }, "caller_filename": { - "nullable": true, "description": "Deprecated. Use `context.caller_filename` instead." }, "caller_lineno": { - "nullable": true, "description": "Deprecated. Use `context.caller_lineno` instead." } }, @@ -2238,41 +2499,51 @@ "description": "Metrics are numerical measurements tracking the execution of the code that produced the experiment event. Use \"start\" and \"end\" to track the time span over which the experiment event was produced" }, "context": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "caller_functionname": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The function in code which created the experiment event" }, "caller_filename": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the file in code where the experiment event was created" }, "caller_lineno": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "description": "Line of code where the experiment event was created" } }, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "Context is additional information about the code that produced the experiment event. It is essentially the textual counterpart to `metrics`. Use the `caller_*` attributes to track the location in code which produced the experiment event" }, "span_attributes": { "$ref": "#/components/schemas/SpanAttributes" }, "id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "A unique identifier for the experiment event. If you don't provide one, Braintrust will generate one for you" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "The timestamp the experiment event was created" }, @@ -2280,27 +2551,37 @@ "$ref": "#/components/schemas/ObjectReferenceNullish" }, "facets": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "description": "Facets for categorization (dictionary from facet id to value)" }, "_object_delete": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Pass `_object_delete=true` to mark the experiment event deleted. Deleted events will not show up in subsequent fetches for this experiment" }, "_is_merge": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "The `_is_merge` field controls how the row is merged with any existing row with the same id in the DB. By default (or when set to `false`), the existing row is completely replaced by the new row. When set to `true`, the new row is deep-merged into the existing row, if one is found. If no existing row is found, the new row is inserted as is.\n\nFor example, say there is an existing row in the DB `{\"id\": \"foo\", \"input\": {\"a\": 5, \"b\": 10}}`. If we merge a new row as `{\"_is_merge\": true, \"id\": \"foo\", \"input\": {\"b\": 11, \"c\": 20}}`, the new row will be `{\"id\": \"foo\", \"input\": {\"a\": 5, \"b\": 11, \"c\": 20}}`. If we replace the new row as `{\"id\": \"foo\", \"input\": {\"b\": 11, \"c\": 20}}`, the new row will be `{\"id\": \"foo\", \"input\": {\"b\": 11, \"c\": 20}}`" }, "_merge_paths": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "array", "items": { @@ -2310,8 +2591,10 @@ "description": "The `_merge_paths` field allows controlling the depth of the merge, when `_is_merge=true`. `_merge_paths` is a list of paths, where each path is a list of field names. The deep merge will not descend below any of the specified merge paths.\n\nFor example, say there is an existing row in the DB `{\"id\": \"foo\", \"input\": {\"a\": {\"b\": 10}, \"c\": {\"d\": 20}}, \"output\": {\"a\": 20}}`. If we merge a new row as `{\"_is_merge\": true, \"_merge_paths\": [[\"input\", \"a\"], [\"output\"]], \"input\": {\"a\": {\"q\": 30}, \"c\": {\"e\": 30}, \"bar\": \"baz\"}, \"output\": {\"d\": 40}}`, the new row will be `{\"id\": \"foo\": \"input\": {\"a\": {\"q\": 30}, \"c\": {\"d\": 20, \"e\": 30}, \"bar\": \"baz\"}, \"output\": {\"d\": 40}}`. In this case, due to the merge paths, we have replaced `input.a` and `output`, but have still deep-merged `input` and `input.c`." }, "_array_delete": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "object", "properties": { @@ -2323,9 +2606,7 @@ }, "delete": { "type": "array", - "items": { - "nullable": true - } + "items": {} } }, "required": [ @@ -2336,27 +2617,35 @@ "description": "The `_array_delete` field allows removing specific values from array fields. It is an array of objects with `path` and `delete` properties.\n\nFor example, to remove tags \"foo\" and \"bar\" from an existing row: `{\"_is_merge\": true, \"_array_delete\": [{\"path\": [\"tags\"], \"delete\": [\"foo\", \"bar\"]}]}`. For nested fields like `metadata.categories`, use `[{\"path\": [\"metadata\", \"categories\"], \"delete\": [\"value\"]}]`. This will remove those specific values from the array while preserving others." }, "_parent_id": { - "type": "string", - "nullable": true, - "description": "DEPRECATED: The `_parent_id` field is deprecated and should not be used. Support for `_parent_id` will be dropped in a future version of Braintrust. Log `span_id`, `root_span_id`, and `span_parents` explicitly instead.\n\nUse the `_parent_id` field to create this row as a subspan of an existing row. Tracking hierarchical relationships are important for tracing (see the [guide](https://www.braintrust.dev/docs/instrument) for full details).\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"_parent_id\": \"abc\", \"id\": \"llm_call\", \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." + "type": [ + "string", + "null" + ], + "description": "DEPRECATED: The `_parent_id` field is deprecated and should not be used. Support for `_parent_id` will be dropped in a future version of Braintrust. Log `span_id`, `root_span_id`, and `span_parents` explicitly instead.\n\nUse the `_parent_id` field to create this row as a subspan of an existing row. Tracking hierarchical relationships are important for tracing (see the [guide](https://docs.braintrust.dev/instrument) for full details).\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"_parent_id\": \"abc\", \"id\": \"llm_call\", \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." }, "span_id": { - "type": "string", - "nullable": true, - "description": "Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the [guide](https://www.braintrust.dev/docs/instrument) for full details.\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"span_id\": \"span0\", \"root_span_id\": \"root_span0\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"id\": \"llm_call\", \"span_id\": \"span1\", \"root_span_id\": \"root_span0\", \"span_parents\": [\"span0\"], \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." + "type": [ + "string", + "null" + ], + "description": "Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the [guide](https://docs.braintrust.dev/instrument) for full details.\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"span_id\": \"span0\", \"root_span_id\": \"root_span0\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"id\": \"llm_call\", \"span_id\": \"span1\", \"root_span_id\": \"root_span0\", \"span_parents\": [\"span0\"], \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." }, "root_span_id": { - "type": "string", - "nullable": true, - "description": "Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the [guide](https://www.braintrust.dev/docs/instrument) for full details.\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"span_id\": \"span0\", \"root_span_id\": \"root_span0\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"id\": \"llm_call\", \"span_id\": \"span1\", \"root_span_id\": \"root_span0\", \"span_parents\": [\"span0\"], \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." + "type": [ + "string", + "null" + ], + "description": "Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the [guide](https://docs.braintrust.dev/instrument) for full details.\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"span_id\": \"span0\", \"root_span_id\": \"root_span0\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"id\": \"llm_call\", \"span_id\": \"span1\", \"root_span_id\": \"root_span0\", \"span_parents\": [\"span0\"], \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." }, "span_parents": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, - "description": "Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the [guide](https://www.braintrust.dev/docs/instrument) for full details.\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"span_id\": \"span0\", \"root_span_id\": \"root_span0\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"id\": \"llm_call\", \"span_id\": \"span1\", \"root_span_id\": \"root_span0\", \"span_parents\": [\"span0\"], \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." + "description": "Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the [guide](https://docs.braintrust.dev/instrument) for full details.\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"span_id\": \"span0\", \"root_span_id\": \"root_span0\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"id\": \"llm_call\", \"span_id\": \"span1\", \"root_span_id\": \"root_span0\", \"span_parents\": [\"span0\"], \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." } }, "description": "An experiment event" @@ -2393,8 +2682,10 @@ "description": "The timestamp the experiment event was created" }, "_pagination_key": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "A stable, time-ordered key that can be used to paginate over experiment events. This field is auto-generated by Braintrust and only exists in Brainstore." }, "project_id": { @@ -2408,94 +2699,107 @@ "description": "Unique identifier for the experiment" }, "input": { - "nullable": true, "description": "The arguments that uniquely define a test case (an arbitrary, JSON serializable object). Later on, Braintrust will use the `input` to know whether two test cases are the same between experiments, so they should not contain experiment-specific state. A simple rule of thumb is that if you run the same experiment twice, the `input` should be identical" }, "output": { - "nullable": true, "description": "The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question" }, "expected": { - "nullable": true, "description": "The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate your experiments while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models" }, "error": { - "nullable": true, "description": "The error that occurred, if any." }, "scores": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "minimum": 0, "maximum": 1 }, "description": "A dictionary of numeric values (between 0 and 1) to log. The scores should give you a variety of signals that help you determine how accurate the outputs are compared to what you expect and diagnose failures. For example, a summarization app might have one score that tells you how accurate the summary is, and another that measures the word similarity between the generated and grouth truth summary. The word similarity score could help you determine whether the summarization was covering similar concepts or not. You can use these scores to help you sort, filter, and compare experiments" }, "metadata": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "model": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The model used for this example" } }, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "A dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, "description": "A list of tags to log" }, "metrics": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "start": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "description": "A unix timestamp recording when the section of code which produced the experiment event started" }, "end": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "description": "A unix timestamp recording when the section of code which produced the experiment event finished" }, "prompt_tokens": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "description": "The number of tokens in the prompt used to generate the experiment event (only set if this is an LLM span)" }, "completion_tokens": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "description": "The number of tokens in the completion generated by the model (only set if this is an LLM span)" }, "tokens": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "description": "The total number of tokens in the input and output of the experiment event." }, "caller_functionname": { - "nullable": true, "description": "Deprecated. Use `context.caller_functionname` instead." }, "caller_filename": { - "nullable": true, "description": "Deprecated. Use `context.caller_filename` instead." }, "caller_lineno": { - "nullable": true, "description": "Deprecated. Use `context.caller_lineno` instead." } }, @@ -2505,37 +2809,45 @@ "description": "Metrics are numerical measurements tracking the execution of the code that produced the experiment event. Use \"start\" and \"end\" to track the time span over which the experiment event was produced" }, "context": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "caller_functionname": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The function in code which created the experiment event" }, "caller_filename": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the file in code where the experiment event was created" }, "caller_lineno": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "description": "Line of code where the experiment event was created" } }, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "Context is additional information about the code that produced the experiment event. It is essentially the textual counterpart to `metrics`. Use the `caller_*` attributes to track the location in code which produced the experiment event" }, "span_id": { "type": "string", - "description": "A unique identifier used to link different experiment events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing" + "description": "A unique identifier used to link different experiment events together as part of a full trace. See the [tracing guide](https://docs.braintrust.dev/instrument) for full details on tracing" }, "span_parents": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -2549,41 +2861,49 @@ "$ref": "#/components/schemas/SpanAttributes" }, "is_root": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Whether this span is a root span" }, "origin": { "$ref": "#/components/schemas/ObjectReferenceNullish" }, "comments": { - "type": "array", - "nullable": true, - "items": { - "nullable": true - }, + "type": [ + "array", + "null" + ], + "items": {}, "description": "Optional list of comments attached to this event" }, "audit_data": { - "type": "array", - "nullable": true, - "items": { - "nullable": true - }, + "type": [ + "array", + "null" + ], + "items": {}, "description": "Optional list of audit entries attached to this event" }, "facets": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "description": "Facets for categorization (dictionary from facet id to value)" }, "classifications": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { "type": "array", "items": { @@ -2598,16 +2918,18 @@ "description": "Original label of the classification item, which is useful for search and indexing purposes" }, "confidence": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "description": "Optional confidence score for the classification" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "Optional metadata associated with the classification" }, "source": { @@ -2643,8 +2965,10 @@ "description": "A list of fetched events" }, "cursor": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Pagination cursor\n\nPass this string directly as the `cursor` param to your next fetch request to get the next page of results. Not provided if the returned result set is empty." } }, @@ -2660,36 +2984,43 @@ "description": "The id of the experiment event to log feedback for. This is the row `id` returned by `POST /v1/experiment/{experiment_id}/insert`" }, "scores": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "minimum": 0, "maximum": 1 }, "description": "A dictionary of numeric values (between 0 and 1) to log. These scores will be merged into the existing scores for the experiment event" }, "expected": { - "nullable": true, "description": "The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not" }, "comment": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "An optional comment string to log about the experiment event" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "A dictionary with additional data about the feedback. If you have a `user_id`, you can log it here and access it in the Braintrust UI. Note, this metadata does not correspond to the main event itself, but rather the audit log attached to the event." }, "source": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "enum": [ "app", "api", @@ -2699,8 +3030,10 @@ "description": "The source of the feedback. Must be one of \"external\" (default), \"app\", or \"api\"" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -2825,21 +3158,27 @@ "description": "URL to the experiment's page in the Braintrust app" }, "comparison_experiment_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The experiment which scores are baselined against" }, "scores": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { "$ref": "#/components/schemas/ScoreSummary" }, "description": "Summary of the experiment's scores" }, "metrics": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { "$ref": "#/components/schemas/MetricSummary" }, @@ -2872,42 +3211,52 @@ "description": "Name of the dataset. Within a project, dataset names are unique" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the dataset" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of dataset creation" }, "deleted_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of dataset deletion, or null if the dataset is still active" }, "user_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifies the user who created the dataset" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, "description": "A list of tags for the dataset" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "User-controlled metadata about the dataset" }, "url_slug": { @@ -2936,24 +3285,28 @@ "description": "Name of the dataset. Within a project, dataset names are unique" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the dataset" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, "description": "A list of tags for the dataset" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "User-controlled metadata about the dataset" } }, @@ -2966,29 +3319,35 @@ "type": "object", "properties": { "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the dataset. Within a project, dataset names are unique" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the dataset" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, "description": "A list of tags for the dataset" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "User-controlled metadata about the dataset" } } @@ -2997,44 +3356,50 @@ "type": "object", "properties": { "input": { - "nullable": true, "description": "The argument that uniquely define an input case (an arbitrary, JSON serializable object)" }, "expected": { - "nullable": true, "description": "The output of your application, including post-processing (an arbitrary, JSON serializable object)" }, "metadata": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "model": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The model used for this example" } }, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "A dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, "description": "A list of tags to log" }, "id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "A unique identifier for the dataset event. If you don't provide one, Braintrust will generate one for you" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "The timestamp the dataset event was created" }, @@ -3042,27 +3407,37 @@ "$ref": "#/components/schemas/ObjectReferenceNullish" }, "facets": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "description": "Facets for categorization (dictionary from facet id to value)" }, "_object_delete": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Pass `_object_delete=true` to mark the dataset event deleted. Deleted events will not show up in subsequent fetches for this dataset" }, "_is_merge": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "The `_is_merge` field controls how the row is merged with any existing row with the same id in the DB. By default (or when set to `false`), the existing row is completely replaced by the new row. When set to `true`, the new row is deep-merged into the existing row, if one is found. If no existing row is found, the new row is inserted as is.\n\nFor example, say there is an existing row in the DB `{\"id\": \"foo\", \"input\": {\"a\": 5, \"b\": 10}}`. If we merge a new row as `{\"_is_merge\": true, \"id\": \"foo\", \"input\": {\"b\": 11, \"c\": 20}}`, the new row will be `{\"id\": \"foo\", \"input\": {\"a\": 5, \"b\": 11, \"c\": 20}}`. If we replace the new row as `{\"id\": \"foo\", \"input\": {\"b\": 11, \"c\": 20}}`, the new row will be `{\"id\": \"foo\", \"input\": {\"b\": 11, \"c\": 20}}`" }, "_merge_paths": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "array", "items": { @@ -3072,8 +3447,10 @@ "description": "The `_merge_paths` field allows controlling the depth of the merge, when `_is_merge=true`. `_merge_paths` is a list of paths, where each path is a list of field names. The deep merge will not descend below any of the specified merge paths.\n\nFor example, say there is an existing row in the DB `{\"id\": \"foo\", \"input\": {\"a\": {\"b\": 10}, \"c\": {\"d\": 20}}, \"output\": {\"a\": 20}}`. If we merge a new row as `{\"_is_merge\": true, \"_merge_paths\": [[\"input\", \"a\"], [\"output\"]], \"input\": {\"a\": {\"q\": 30}, \"c\": {\"e\": 30}, \"bar\": \"baz\"}, \"output\": {\"d\": 40}}`, the new row will be `{\"id\": \"foo\": \"input\": {\"a\": {\"q\": 30}, \"c\": {\"d\": 20, \"e\": 30}, \"bar\": \"baz\"}, \"output\": {\"d\": 40}}`. In this case, due to the merge paths, we have replaced `input.a` and `output`, but have still deep-merged `input` and `input.c`." }, "_array_delete": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "object", "properties": { @@ -3085,9 +3462,7 @@ }, "delete": { "type": "array", - "items": { - "nullable": true - } + "items": {} } }, "required": [ @@ -3098,27 +3473,35 @@ "description": "The `_array_delete` field allows removing specific values from array fields. It is an array of objects with `path` and `delete` properties.\n\nFor example, to remove tags \"foo\" and \"bar\" from an existing row: `{\"_is_merge\": true, \"_array_delete\": [{\"path\": [\"tags\"], \"delete\": [\"foo\", \"bar\"]}]}`. For nested fields like `metadata.categories`, use `[{\"path\": [\"metadata\", \"categories\"], \"delete\": [\"value\"]}]`. This will remove those specific values from the array while preserving others." }, "_parent_id": { - "type": "string", - "nullable": true, - "description": "DEPRECATED: The `_parent_id` field is deprecated and should not be used. Support for `_parent_id` will be dropped in a future version of Braintrust. Log `span_id`, `root_span_id`, and `span_parents` explicitly instead.\n\nUse the `_parent_id` field to create this row as a subspan of an existing row. Tracking hierarchical relationships are important for tracing (see the [guide](https://www.braintrust.dev/docs/instrument) for full details).\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"_parent_id\": \"abc\", \"id\": \"llm_call\", \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." + "type": [ + "string", + "null" + ], + "description": "DEPRECATED: The `_parent_id` field is deprecated and should not be used. Support for `_parent_id` will be dropped in a future version of Braintrust. Log `span_id`, `root_span_id`, and `span_parents` explicitly instead.\n\nUse the `_parent_id` field to create this row as a subspan of an existing row. Tracking hierarchical relationships are important for tracing (see the [guide](https://docs.braintrust.dev/instrument) for full details).\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"_parent_id\": \"abc\", \"id\": \"llm_call\", \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." }, "span_id": { - "type": "string", - "nullable": true, - "description": "Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the [guide](https://www.braintrust.dev/docs/instrument) for full details.\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"span_id\": \"span0\", \"root_span_id\": \"root_span0\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"id\": \"llm_call\", \"span_id\": \"span1\", \"root_span_id\": \"root_span0\", \"span_parents\": [\"span0\"], \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." + "type": [ + "string", + "null" + ], + "description": "Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the [guide](https://docs.braintrust.dev/instrument) for full details.\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"span_id\": \"span0\", \"root_span_id\": \"root_span0\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"id\": \"llm_call\", \"span_id\": \"span1\", \"root_span_id\": \"root_span0\", \"span_parents\": [\"span0\"], \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." }, "root_span_id": { - "type": "string", - "nullable": true, - "description": "Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the [guide](https://www.braintrust.dev/docs/instrument) for full details.\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"span_id\": \"span0\", \"root_span_id\": \"root_span0\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"id\": \"llm_call\", \"span_id\": \"span1\", \"root_span_id\": \"root_span0\", \"span_parents\": [\"span0\"], \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." + "type": [ + "string", + "null" + ], + "description": "Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the [guide](https://docs.braintrust.dev/instrument) for full details.\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"span_id\": \"span0\", \"root_span_id\": \"root_span0\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"id\": \"llm_call\", \"span_id\": \"span1\", \"root_span_id\": \"root_span0\", \"span_parents\": [\"span0\"], \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." }, "span_parents": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, - "description": "Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the [guide](https://www.braintrust.dev/docs/instrument) for full details.\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"span_id\": \"span0\", \"root_span_id\": \"root_span0\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"id\": \"llm_call\", \"span_id\": \"span1\", \"root_span_id\": \"root_span0\", \"span_parents\": [\"span0\"], \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." + "description": "Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the [guide](https://docs.braintrust.dev/instrument) for full details.\n\nFor example, say we have logged a row `{\"id\": \"abc\", \"span_id\": \"span0\", \"root_span_id\": \"root_span0\", \"input\": \"foo\", \"output\": \"bar\", \"expected\": \"boo\", \"scores\": {\"correctness\": 0.33}}`. We can create a sub-span of the parent row by logging `{\"id\": \"llm_call\", \"span_id\": \"span1\", \"root_span_id\": \"root_span0\", \"span_parents\": [\"span0\"], \"input\": {\"prompt\": \"What comes after foo?\"}, \"output\": \"bar\", \"metrics\": {\"tokens\": 1}}`. In the webapp, only the root span row `\"abc\"` will show up in the summary view. You can view the full trace hierarchy (in this case, the `\"llm_call\"` row) by clicking on the \"abc\" row.\n\nIf the row is being merged into an existing row, this field will be ignored." } }, "description": "A dataset event" @@ -3155,8 +3538,10 @@ "description": "The timestamp the dataset event was created" }, "_pagination_key": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "A stable, time-ordered key that can be used to paginate over dataset events. This field is auto-generated by Braintrust and only exists in Brainstore." }, "project_id": { @@ -3170,31 +3555,33 @@ "description": "Unique identifier for the dataset" }, "input": { - "nullable": true, "description": "The argument that uniquely define an input case (an arbitrary, JSON serializable object)" }, "expected": { - "nullable": true, "description": "The output of your application, including post-processing (an arbitrary, JSON serializable object)" }, "metadata": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "model": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The model used for this example" } }, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "A dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -3202,48 +3589,56 @@ }, "span_id": { "type": "string", - "description": "A unique identifier used to link different dataset events together as part of a full trace. See the [tracing guide](https://www.braintrust.dev/docs/instrument) for full details on tracing" + "description": "A unique identifier used to link different dataset events together as part of a full trace. See the [tracing guide](https://docs.braintrust.dev/instrument) for full details on tracing" }, "root_span_id": { "type": "string", "description": "A unique identifier for the trace this dataset event belongs to" }, "is_root": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Whether this span is a root span" }, "origin": { "$ref": "#/components/schemas/ObjectReferenceNullish" }, "comments": { - "type": "array", - "nullable": true, - "items": { - "nullable": true - }, + "type": [ + "array", + "null" + ], + "items": {}, "description": "Optional list of comments attached to this event" }, "audit_data": { - "type": "array", - "nullable": true, - "items": { - "nullable": true - }, + "type": [ + "array", + "null" + ], + "items": {}, "description": "Optional list of audit entries attached to this event" }, "facets": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "description": "Facets for categorization (dictionary from facet id to value)" }, "classifications": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { "type": "array", "items": { @@ -3258,16 +3653,18 @@ "description": "Original label of the classification item, which is useful for search and indexing purposes" }, "confidence": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "description": "Optional confidence score for the classification" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "Optional metadata associated with the classification" }, "source": { @@ -3303,8 +3700,10 @@ "description": "A list of fetched events" }, "cursor": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Pagination cursor\n\nPass this string directly as the `cursor` param to your next fetch request to get the next page of results. Not provided if the returned result set is empty." } }, @@ -3320,21 +3719,25 @@ "description": "The id of the dataset event to log feedback for. This is the row `id` returned by `POST /v1/dataset/{dataset_id}/insert`" }, "comment": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "An optional comment string to log about the dataset event" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "A dictionary with additional data about the feedback. If you have a `user_id`, you can log it here and access it in the Braintrust UI. Note, this metadata does not correspond to the main event itself, but rather the audit log attached to the event." }, "source": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "enum": [ "app", "api", @@ -3344,8 +3747,10 @@ "description": "The source of the feedback. Must be one of \"external\" (default), \"app\", or \"api\"" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -3372,8 +3777,10 @@ ] }, "DataSummary": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "total_records": { "type": "integer", @@ -3452,8 +3859,10 @@ "type": "object", "properties": { "xact_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Transaction id of the restore, or null if the restore made no changes" }, "rows_restored": { @@ -3789,12 +4198,16 @@ "type": "object", "properties": { "id": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "content": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] } }, "description": "Note: This is not part of the OpenAI API spec, but we added it for interoperability with multiple reasoning models." @@ -3895,8 +4308,10 @@ ] }, "function_call": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "arguments": { "type": "string" @@ -3911,26 +4326,34 @@ ] }, "name": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "tool_calls": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "$ref": "#/components/schemas/ChatCompletionMessageToolCall" } }, "reasoning": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "$ref": "#/components/schemas/ChatCompletionMessageReasoning" } }, "reasoning_signature": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] } }, "required": [ @@ -3977,8 +4400,10 @@ "type": "object", "properties": { "content": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "name": { "type": "string" @@ -4041,8 +4466,10 @@ ] }, "content": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] } }, "required": [ @@ -4116,9 +4543,7 @@ "anyOf": [ { "type": "object", - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "title": "object" }, { @@ -4128,8 +4553,10 @@ ] }, "strict": { - "type": "boolean", - "nullable": true + "type": [ + "boolean", + "null" + ] } }, "required": [ @@ -4336,9 +4763,7 @@ "type": "boolean" } }, - "additionalProperties": { - "nullable": true - } + "additionalProperties": {} }, "verbosity": { "type": "string", @@ -4349,9 +4774,7 @@ ] } }, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "title": "OpenAIModelParams" }, { @@ -4393,9 +4816,7 @@ "max_tokens", "temperature" ], - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "title": "AnthropicModelParams" }, { @@ -4423,9 +4844,7 @@ "type": "number" } }, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "title": "GoogleModelParams" }, { @@ -4447,9 +4866,7 @@ "type": "number" } }, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "title": "WindowAIModelParams" }, { @@ -4465,16 +4882,16 @@ "type": "number" } }, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "title": "JsCompletionParams" } ] }, "PromptOptionsNullish": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "model": { "type": "string" @@ -4486,14 +4903,18 @@ "type": "string" }, "endpoint_name": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] } } }, "PromptParserNullish": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "type": { "type": "string", @@ -4614,8 +5035,10 @@ "description": "For prompt-backed functions: the saved, global, or inline preprocessor to use for trace template variables. Set to null to disable preprocessing. If omitted, the traced project's default preprocessor will be used, falling back to the global 'thread' preprocessor." }, "PromptDataNullish": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "prompt": { "$ref": "#/components/schemas/PromptBlockDataNullish" @@ -4630,8 +5053,10 @@ "$ref": "#/components/schemas/PreprocessorId" }, "tool_functions": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "allOf": [ { @@ -4690,8 +5115,10 @@ } }, "template_format": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "enum": [ "mustache", "nunjucks", @@ -4700,8 +5127,10 @@ ] }, "mcp": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { "oneOf": [ { @@ -4721,8 +5150,10 @@ "type": "boolean" }, "enabled_tools": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -4751,8 +5182,10 @@ "type": "boolean" }, "enabled_tools": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -4769,8 +5202,10 @@ } }, "origin": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "prompt_id": { "type": "string" @@ -4787,8 +5222,10 @@ "description": "The prompt, model, and its parameters" }, "FunctionTypeEnumNullish": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "enum": [ "llm", "scorer", @@ -4842,13 +5279,17 @@ "description": "Unique identifier for the prompt" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the prompt" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of prompt creation" }, @@ -4856,19 +5297,21 @@ "$ref": "#/components/schemas/PromptDataNullish" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, "description": "A list of tags for the prompt" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "User-controlled metadata about the prompt" }, "function_type": { @@ -4904,16 +5347,20 @@ "description": "Unique identifier for the prompt" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the prompt" }, "prompt_data": { "$ref": "#/components/schemas/PromptDataNullish" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -4923,8 +5370,10 @@ "$ref": "#/components/schemas/FunctionTypeEnumNullish" }, "environment_slugs": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -4941,26 +5390,34 @@ "type": "object", "properties": { "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the prompt" }, "slug": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Unique identifier for the prompt" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the prompt" }, "prompt_data": { "$ref": "#/components/schemas/PromptDataNullish" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -4991,20 +5448,26 @@ "description": "Unique identifier for the role" }, "org_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Unique id for the organization that the role belongs under\n\nA null org_id indicates a system role, which may be assigned to anybody and inherited by any other role, but cannot be edited.\n\nIt is forbidden to change the org after creating a role" }, "user_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifies the user who created the role" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of role creation" }, @@ -5013,19 +5476,25 @@ "description": "Name of the role" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the role" }, "deleted_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of role deletion, or null if the role is still active" }, "member_permissions": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "object", "properties": { @@ -5033,8 +5502,14 @@ "$ref": "#/components/schemas/Permission" }, "restrict_object_type": { - "$ref": "#/components/schemas/AclObjectType", - "nullable": true + "anyOf": [ + { + "$ref": "#/components/schemas/AclObjectType" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -5044,8 +5519,10 @@ "description": "(permission, restrict_object_type) tuples which belong to this role" }, "member_roles": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "format": "uuid" @@ -5068,13 +5545,17 @@ "description": "Name of the role" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the role" }, "member_permissions": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "object", "properties": { @@ -5082,8 +5563,14 @@ "$ref": "#/components/schemas/Permission" }, "restrict_object_type": { - "$ref": "#/components/schemas/AclObjectType", - "nullable": true + "anyOf": [ + { + "$ref": "#/components/schemas/AclObjectType" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -5093,8 +5580,10 @@ "description": "(permission, restrict_object_type) tuples which belong to this role" }, "member_roles": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "format": "uuid" @@ -5102,8 +5591,10 @@ "description": "Ids of the roles this role inherits from\n\nAn inheriting role has all the permissions contained in its member roles, as well as all of their inherited permissions" }, "org_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization the role belongs in." } }, @@ -5115,19 +5606,25 @@ "type": "object", "properties": { "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the role" }, "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "minLength": 1, "description": "Name of the role" }, "add_member_permissions": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "object", "properties": { @@ -5135,8 +5632,14 @@ "$ref": "#/components/schemas/Permission" }, "restrict_object_type": { - "$ref": "#/components/schemas/AclObjectType", - "nullable": true + "anyOf": [ + { + "$ref": "#/components/schemas/AclObjectType" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -5146,8 +5649,10 @@ "description": "A list of permissions to add to the role" }, "remove_member_permissions": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "object", "properties": { @@ -5155,8 +5660,14 @@ "$ref": "#/components/schemas/Permission" }, "restrict_object_type": { - "$ref": "#/components/schemas/AclObjectType", - "nullable": true + "anyOf": [ + { + "$ref": "#/components/schemas/AclObjectType" + }, + { + "type": "null" + } + ] } }, "required": [ @@ -5166,8 +5677,10 @@ "description": "A list of permissions to remove from the role" }, "add_member_roles": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "format": "uuid" @@ -5175,8 +5688,10 @@ "description": "A list of role IDs to add to the role's inheriting-from set" }, "remove_member_roles": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "format": "uuid" @@ -5199,14 +5714,18 @@ "description": "Unique id for the organization that the group belongs under\n\nIt is forbidden to change the org after creating a group" }, "user_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifies the user who created the group" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of group creation" }, @@ -5215,19 +5734,25 @@ "description": "Name of the group" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the group" }, "deleted_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of group deletion, or null if the group is still active" }, "member_users": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "format": "uuid" @@ -5235,8 +5760,10 @@ "description": "Ids of users which belong to this group" }, "member_groups": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "format": "uuid" @@ -5260,13 +5787,17 @@ "description": "Name of the group" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the group" }, "member_users": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "format": "uuid" @@ -5274,8 +5805,10 @@ "description": "Ids of users which belong to this group" }, "member_groups": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "format": "uuid" @@ -5283,8 +5816,10 @@ "description": "Ids of the groups this group inherits from\n\nAn inheriting group has all the users contained in its member groups, as well as all of their inherited users" }, "org_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization the group belongs in." } }, @@ -5296,19 +5831,25 @@ "type": "object", "properties": { "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the group" }, "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "minLength": 1, "description": "Name of the group" }, "add_member_users": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "format": "uuid" @@ -5316,8 +5857,10 @@ "description": "A list of user IDs to add to the group" }, "remove_member_users": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "format": "uuid" @@ -5325,8 +5868,10 @@ "description": "A list of user IDs to remove from the group" }, "add_member_groups": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "format": "uuid" @@ -5334,8 +5879,10 @@ "description": "A list of group IDs to add to the group's inheriting-from set" }, "remove_member_groups": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "format": "uuid" @@ -5358,14 +5905,18 @@ "description": "Unique id for the organization that the project group belongs under\n\nIt is forbidden to change the org after creating a project group" }, "user_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifies the user who created the project group" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of project group creation" }, @@ -5374,13 +5925,17 @@ "description": "Name of the project group" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the project group" }, "deleted_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of project group deletion, or null if the project group is still active" }, @@ -5410,13 +5965,17 @@ "description": "Name of the project group" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the project group" }, "org_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization the project group belongs in." } }, @@ -5428,19 +5987,25 @@ "type": "object", "properties": { "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "minLength": 1, "description": "Name of the project group" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the project group" }, "add_member_projects": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "format": "uuid" @@ -5449,8 +6014,10 @@ "description": "A list of project IDs to add to the project group" }, "remove_member_projects": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "format": "uuid" @@ -5477,30 +6044,48 @@ "description": "The id of the object the ACL applies to" }, "user_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Id of the user the ACL applies to. Exactly one of `user_id` and `group_id` will be provided" }, "group_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Id of the group the ACL applies to. Exactly one of `user_id` and `group_id` will be provided" }, "permission": { - "$ref": "#/components/schemas/Permission", - "nullable": true, - "description": "Permission the ACL grants. Exactly one of `permission` and `role_id` will be provided" + "description": "Permission the ACL grants. Exactly one of `permission` and `role_id` will be provided", + "anyOf": [ + { + "$ref": "#/components/schemas/Permission" + }, + { + "type": "null" + } + ] }, "restrict_object_type": { - "$ref": "#/components/schemas/AclObjectType", - "nullable": true, - "description": "When setting a permission directly, optionally restricts the permission grant to just the specified object type. Cannot be set alongside a `role_id`." + "description": "When setting a permission directly, optionally restricts the permission grant to just the specified object type. Cannot be set alongside a `role_id`.", + "anyOf": [ + { + "$ref": "#/components/schemas/AclObjectType" + }, + { + "type": "null" + } + ] }, "role_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Id of the role the ACL grants. Exactly one of `permission` and `role_id` will be provided" }, @@ -5510,8 +6095,10 @@ "description": "The organization the ACL's referred object belongs to" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of acl creation" } @@ -5536,30 +6123,48 @@ "description": "The id of the object the ACL applies to" }, "user_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Id of the user the ACL applies to. Exactly one of `user_id` and `group_id` will be provided" }, "group_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Id of the group the ACL applies to. Exactly one of `user_id` and `group_id` will be provided" }, "permission": { - "$ref": "#/components/schemas/Permission", - "nullable": true, - "description": "Permission the ACL grants. Exactly one of `permission` and `role_id` will be provided" + "description": "Permission the ACL grants. Exactly one of `permission` and `role_id` will be provided", + "anyOf": [ + { + "$ref": "#/components/schemas/Permission" + }, + { + "type": "null" + } + ] }, "restrict_object_type": { - "$ref": "#/components/schemas/AclObjectType", - "nullable": true, - "description": "When setting a permission directly, optionally restricts the permission grant to just the specified object type. Cannot be set alongside a `role_id`." + "description": "When setting a permission directly, optionally restricts the permission grant to just the specified object type. Cannot be set alongside a `role_id`.", + "anyOf": [ + { + "$ref": "#/components/schemas/AclObjectType" + }, + { + "type": "null" + } + ] }, "role_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Id of the role the ACL grants. Exactly one of `permission` and `role_id` will be provided" } @@ -5595,15 +6200,19 @@ "type": "object", "properties": { "add_acls": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "$ref": "#/components/schemas/AclItem" } }, "remove_acls": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "$ref": "#/components/schemas/AclItem" } @@ -5619,28 +6228,38 @@ "description": "Unique identifier for the user" }, "given_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Given name of the user" }, "family_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Family name of the user" }, "email": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The user's email" }, "avatar_url": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "URL of the user's Avatar image" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of user creation" } @@ -5667,8 +6286,10 @@ "format": "uuid" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of agent creation" }, @@ -5685,16 +6306,18 @@ "description": "Agent classification: 'custom' for customer-defined agents, 'loop' for built-in Loop agents." }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the agent" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "User-controlled metadata about the agent" } }, @@ -5721,16 +6344,18 @@ "description": "Name of the agent. Within a project, agent names are unique" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the agent" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "User-controlled metadata about the agent" } }, @@ -5744,21 +6369,25 @@ "type": "object", "properties": { "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the agent. Within a project, agent names are unique" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the agent" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "User-controlled metadata about the agent" } }, @@ -5870,8 +6499,10 @@ "description": "The type of automation." }, "product_origin": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "enum": [ "patterns", "dashboard", @@ -5984,8 +6615,10 @@ "description": "How the lifecycle changes when the calculation returns no data" }, "renotify_interval_seconds": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "minimum": 1, "maximum": 2592000, "description": "Optional reminder interval while the automation is firing" @@ -6057,8 +6690,10 @@ "description": "A standard five-field cron expression (minute hour day-of-month month day-of-week) controlling when the automation runs" }, "timezone": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "minLength": 1, "description": "IANA timezone used to interpret the cron expression (defaults to UTC)" } @@ -6296,8 +6931,10 @@ ] }, "TopicAutomationFacetModel": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "enum": [ "brain-facet-latest", "brain-facet-1", @@ -6367,8 +7004,10 @@ ] }, "btql_filter": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Per-topic-map BTQL filter. For trace scope, a topic map runs when max(filter) over the trace is truthy. For span scope, it runs when the current span matches." } }, @@ -6540,19 +7179,25 @@ "$ref": "#/components/schemas/TopicAutomationDataScope" }, "btql_filter": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Optional BTQL filter applied before topic automation." }, "rerun_seconds": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "minimum": 600, "description": "How often to recompute topic maps" }, "relabel_overlap_seconds": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "minimum": 60, "description": "Deprecated. How much recent history to relabel after a new topic map version becomes active. Data planes v2.15.0 and later ignore this and apply a topic map version after the first only to traces classified once it is active." }, @@ -6681,14 +7326,18 @@ "description": "Unique identifier for the project that the project automation belongs under" }, "user_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifies the user who created the project automation" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of project automation creation" }, @@ -6697,8 +7346,10 @@ "description": "Name of the project automation" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the project automation" }, "config": { @@ -6990,8 +7641,10 @@ ] }, "batch_size": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "description": "The number of rows to export in each batch" } }, @@ -7048,10 +7701,11 @@ "description": "The materialized result format" }, "batch_size": { - "type": "integer", - "nullable": true, - "minimum": 0, - "exclusiveMinimum": true, + "type": [ + "integer", + "null" + ], + "exclusiveMinimum": 0, "maximum": 100000, "description": "The maximum number of result rows to write per async query batch" } @@ -7267,8 +7921,10 @@ "description": "Name of the project automation" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the project automation" }, "config": { @@ -7560,8 +8216,10 @@ ] }, "batch_size": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "description": "The number of rows to export in each batch" } }, @@ -7618,10 +8276,11 @@ "description": "The materialized result format" }, "batch_size": { - "type": "integer", - "nullable": true, - "minimum": 0, - "exclusiveMinimum": true, + "type": [ + "integer", + "null" + ], + "exclusiveMinimum": 0, "maximum": 100000, "description": "The maximum number of result rows to write per async query batch" } @@ -7812,13 +8471,17 @@ "type": "object", "properties": { "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the project automation" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the project automation" }, "config": { @@ -8110,8 +8773,10 @@ ] }, "batch_size": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "description": "The number of rows to export in each batch" } }, @@ -8168,10 +8833,11 @@ "description": "The materialized result format" }, "batch_size": { - "type": "integer", - "nullable": true, - "minimum": 0, - "exclusiveMinimum": true, + "type": [ + "integer", + "null" + ], + "exclusiveMinimum": 0, "maximum": 100000, "description": "The maximum number of result rows to write per async query batch" } @@ -8349,7 +9015,7 @@ "$ref": "#/components/schemas/TopicDigestAutomationConfig" }, { - "nullable": true + "type": "null" } ], "description": "The configuration for the automation rule" @@ -8370,14 +9036,18 @@ "description": "Unique identifier for the organization that the org automation belongs under" }, "user_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifies the user who created the project automation" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of project automation creation" }, @@ -8386,8 +9056,10 @@ "description": "Name of the project automation" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the project automation" }, "config": { @@ -8437,8 +9109,10 @@ "description": "Name of the project automation" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the project automation" }, "config": { @@ -8478,18 +9152,24 @@ "type": "object", "properties": { "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the project automation" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the project automation" }, "config": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "event_type": { "type": "string", @@ -8566,8 +9246,10 @@ ] }, "OnlineScoreConfig": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "status": { "$ref": "#/components/schemas/AutomationStatus" @@ -8639,26 +9321,34 @@ "description": "The list of functions to run for online scoring. Can include scorers, facets, or other function types." }, "btql_filter": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Filter logs using BTQL" }, "apply_to_root_span": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Whether to trigger online scoring on the root span of each trace. Only applies when scope is 'span' or unset." }, "apply_to_span_names": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, "description": "Trigger online scoring on any spans with a name in this list. Only applies when scope is 'span' or unset." }, "skip_logging": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Whether to skip adding scorer spans when computing scores" }, "scope": { @@ -8685,29 +9375,37 @@ ] }, "ProjectScoreCondition": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "when": { "type": "object", "properties": { "clauses": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" } }, "subspan_clauses": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" } }, "trace_clauses": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" } @@ -8727,31 +9425,43 @@ ] }, "ProjectScoreConfig": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "multi_select": { - "type": "boolean", - "nullable": true + "type": [ + "boolean", + "null" + ] }, "destination": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "visibility": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "users": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" } }, "groups": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" } @@ -8765,8 +9475,10 @@ "$ref": "#/components/schemas/ProjectScoreCondition" }, "object_types": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "enum": [ @@ -8796,8 +9508,10 @@ "format": "uuid" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of project score creation" }, @@ -8806,8 +9520,10 @@ "description": "Name of the project score" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the project score" }, "score_type": { @@ -8820,8 +9536,10 @@ "$ref": "#/components/schemas/ProjectScoreConfig" }, "position": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "An optional LexoRank-based string that sets the sort position for the score in the UI" } }, @@ -8847,8 +9565,10 @@ "description": "Name of the project score" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the project score" }, "score_type": { @@ -8872,18 +9592,28 @@ "type": "object", "properties": { "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the project score" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the project score" }, "score_type": { - "$ref": "#/components/schemas/ProjectScoreType", - "nullable": true + "anyOf": [ + { + "$ref": "#/components/schemas/ProjectScoreType" + }, + { + "type": "null" + } + ] }, "categories": { "$ref": "#/components/schemas/ProjectScoreCategories" @@ -8912,8 +9642,10 @@ "format": "uuid" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of project tag creation" }, @@ -8922,18 +9654,24 @@ "description": "Name of the project tag" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the project tag" }, "color": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Color of the tag for the UI" }, "position": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "An optional LexoRank-based string that sets the sort position for the tag in the UI" } }, @@ -8958,13 +9696,17 @@ "description": "Name of the project tag" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the project tag" }, "color": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Color of the tag for the UI" } }, @@ -8977,18 +9719,24 @@ "type": "object", "properties": { "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the project tag" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the project tag" }, "color": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Color of the tag for the UI" } } @@ -9007,20 +9755,26 @@ "description": "Unique identifier for the project that the span iframe belongs under" }, "user_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifies the user who created the span iframe" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of span iframe creation" }, "deleted_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of span iframe deletion, or null if the span iframe is still active" }, @@ -9029,8 +9783,10 @@ "description": "Name of the span iframe" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the span iframe" }, "url": { @@ -9038,8 +9794,10 @@ "description": "URL to embed the project viewer in an iframe" }, "post_message": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Whether to post messages to the iframe containing the span's data. This is useful when you want to render more data than fits in the URL." } }, @@ -9063,8 +9821,10 @@ "description": "Name of the span iframe" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the span iframe" }, "url": { @@ -9072,8 +9832,10 @@ "description": "URL to embed the project viewer in an iframe" }, "post_message": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Whether to post messages to the iframe containing the span's data. This is useful when you want to render more data than fits in the URL." } }, @@ -9087,23 +9849,31 @@ "type": "object", "properties": { "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the span iframe" }, "url": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "URL to embed the project viewer in an iframe" }, "post_message": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Whether to post messages to the iframe containing the span's data. This is useful when you want to render more data than fits in the URL." }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the span iframe" } } @@ -9290,13 +10060,10 @@ }, "parameters": { "type": "object", - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "Parameter values for sandbox eval execution" }, "evaluator_definition": { - "nullable": true, "description": "Definition of current evaluator with parameters" } }, @@ -9309,12 +10076,16 @@ ] }, "bundle_id": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "preview": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "A preview of the code" } }, @@ -9326,9 +10097,7 @@ "FunctionIdRef": { "type": "object", "properties": {}, - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "Options for identifying a function" }, "PromptBlockData": { @@ -9385,13 +10154,17 @@ "type": "object", "properties": { "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The description of the node" }, "position": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "x": { "type": "number", @@ -9427,13 +10200,17 @@ "type": "object", "properties": { "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The description of the node" }, "position": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "x": { "type": "number", @@ -9466,13 +10243,17 @@ "type": "object", "properties": { "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The description of the node" }, "position": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "x": { "type": "number", @@ -9505,13 +10286,17 @@ "type": "object", "properties": { "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The description of the node" }, "position": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "x": { "type": "number", @@ -9535,7 +10320,6 @@ ] }, "value": { - "nullable": true, "description": "A literal value to be returned" } }, @@ -9547,13 +10331,17 @@ "type": "object", "properties": { "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The description of the node" }, "position": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "x": { "type": "number", @@ -9590,13 +10378,17 @@ "type": "object", "properties": { "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The description of the node" }, "position": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "x": { "type": "number", @@ -9620,8 +10412,10 @@ ] }, "condition": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "A BTQL expression to be evaluated" } }, @@ -9633,13 +10427,17 @@ "type": "object", "properties": { "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The description of the node" }, "position": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "x": { "type": "number", @@ -9671,13 +10469,17 @@ "type": "object", "properties": { "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The description of the node" }, "position": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "x": { "type": "number", @@ -9924,28 +10726,23 @@ }, "sample_size": { "type": "integer", - "minimum": 0, - "exclusiveMinimum": true + "exclusiveMinimum": 0 }, "n_clusters": { "type": "integer", - "minimum": 0, - "exclusiveMinimum": true + "exclusiveMinimum": 0 }, "min_cluster_size": { "type": "integer", - "minimum": 0, - "exclusiveMinimum": true + "exclusiveMinimum": 0 }, "min_samples": { "type": "integer", - "minimum": 0, - "exclusiveMinimum": true + "exclusiveMinimum": 0 }, "hierarchy_threshold": { "type": "integer", - "minimum": 0, - "exclusiveMinimum": true + "exclusiveMinimum": 0 }, "naming_model": { "type": "string" @@ -10282,13 +11079,13 @@ }, "parameters": { "type": "object", - "additionalProperties": { - "nullable": true - } + "additionalProperties": {} }, "parameters_version": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The version (transaction ID) of the parameters being used" } }, @@ -10317,11 +11114,11 @@ "$ref": "#/components/schemas/FunctionTypeEnum" }, "config": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "Configuration options to pass to the global function (e.g., for preprocessor customization)" } }, @@ -10348,9 +11145,7 @@ }, "data": { "type": "object", - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "The parameters data" }, "__schema": { @@ -10366,9 +11161,7 @@ "type": "object", "additionalProperties": { "type": "object", - "additionalProperties": { - "nullable": true - } + "additionalProperties": {} } }, "required": { @@ -10676,13 +11469,17 @@ "description": "Unique identifier for the prompt" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the prompt" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of prompt creation" }, @@ -10690,19 +11487,21 @@ "$ref": "#/components/schemas/PromptDataNullish" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, "description": "A list of tags for the prompt" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "User-controlled metadata about the prompt" }, "function_type": { @@ -10712,8 +11511,10 @@ "$ref": "#/components/schemas/FunctionData" }, "origin": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "object_type": { "$ref": "#/components/schemas/AclObjectType" @@ -10724,8 +11525,10 @@ "description": "Id of the object the function is originating from" }, "internal": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "The function exists for internal purposes and should not be displayed in the list of functions." } }, @@ -10735,15 +11538,13 @@ ] }, "function_schema": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { - "parameters": { - "nullable": true - }, - "returns": { - "nullable": true - } + "parameters": {}, + "returns": {} }, "description": "JSON schema for the function's parameters and return type" } @@ -10778,16 +11579,20 @@ "description": "Unique identifier for the prompt" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the prompt" }, "prompt_data": { "$ref": "#/components/schemas/PromptDataNullish" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -10800,8 +11605,10 @@ "$ref": "#/components/schemas/FunctionData" }, "origin": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "object_type": { "$ref": "#/components/schemas/AclObjectType" @@ -10812,8 +11619,10 @@ "description": "Id of the object the function is originating from" }, "internal": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "The function exists for internal purposes and should not be displayed in the list of functions." } }, @@ -10823,15 +11632,13 @@ ] }, "function_schema": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { - "parameters": { - "nullable": true - }, - "returns": { - "nullable": true - } + "parameters": {}, + "returns": {} }, "description": "JSON schema for the function's parameters and return type" } @@ -10967,13 +11774,13 @@ }, "parameters": { "type": "object", - "additionalProperties": { - "nullable": true - } + "additionalProperties": {} }, "parameters_version": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The version (transaction ID) of the parameters being used" } }, @@ -11002,11 +11809,11 @@ "$ref": "#/components/schemas/FunctionTypeEnum" }, "config": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "Configuration options to pass to the global function (e.g., for preprocessor customization)" } }, @@ -11033,9 +11840,7 @@ }, "data": { "type": "object", - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "The parameters data" }, "__schema": { @@ -11051,9 +11856,7 @@ "type": "object", "additionalProperties": { "type": "object", - "additionalProperties": { - "nullable": true - } + "additionalProperties": {} } }, "required": { @@ -11330,13 +12133,17 @@ "type": "object", "properties": { "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the prompt" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the prompt" }, "prompt_data": { @@ -11346,8 +12153,10 @@ "$ref": "#/components/schemas/FunctionDataNullish" }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -11373,8 +12182,10 @@ "description": "The id of the container object you are logging to" }, "row_ids": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "id": { "type": "string", @@ -11397,11 +12208,11 @@ "description": "Identifiers for the row to to log a subspan under" }, "propagated_event": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "Include these properties in every span created under this parent" } }, @@ -11420,8 +12231,10 @@ "description": "Options for tracing the function call" }, "StreamingMode": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "enum": [ "auto", "parallel", @@ -11438,24 +12251,24 @@ "type": "string" }, "input": { - "nullable": true, "description": "Argument to the function, which can be any JSON serializable value" }, "expected": { - "nullable": true, "description": "The expected output of the function" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "Any relevant metadata. This will be logged and available as the `metadata` argument." }, "tags": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -11472,16 +12285,20 @@ "$ref": "#/components/schemas/InvokeParent" }, "stream": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Whether to stream the response. If true, results will be returned in the Braintrust SSE format." }, "mode": { "$ref": "#/components/schemas/StreamingMode" }, "strict": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "If true, throw an error if one of the variables in the prompt is not present in the input" }, "mcp_auth": { @@ -11498,16 +12315,18 @@ "description": "Map of MCP server URL to auth credentials" }, "overrides": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "Partial function definition to merge with the function being invoked. Fields are validated against the function type's schema at runtime. For facets: { preprocessor?, prompt?, model? }. For prompts: { model?, ... }." }, "endpoint_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the AI provider secret to pin this invocation to." }, "version": { @@ -11518,49 +12337,51 @@ "description": "The request to invoke a function" }, "ViewDataSearch": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "filter": { - "type": "array", - "nullable": true, - "items": { - "nullable": true - } + "type": [ + "array", + "null" + ], + "items": {} }, "tag": { - "type": "array", - "nullable": true, - "items": { - "nullable": true - } + "type": [ + "array", + "null" + ], + "items": {} }, "match": { - "type": "array", - "nullable": true, - "items": { - "nullable": true - } + "type": [ + "array", + "null" + ], + "items": {} }, "sort": { - "type": "array", - "nullable": true, - "items": { - "nullable": true - } + "type": [ + "array", + "null" + ], + "items": {} } } }, "ViewData": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "search": { "$ref": "#/components/schemas/ViewDataSearch" }, - "custom_charts": { - "nullable": true - } + "custom_charts": {} }, "description": "The view definition" }, @@ -11586,8 +12407,10 @@ ] }, "spanType": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "enum": [ "range", "frame", @@ -11595,35 +12418,49 @@ ] }, "rangeValue": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "frameStart": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "frameEnd": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "tzUTC": { - "type": "boolean", - "nullable": true + "type": [ + "boolean", + "null" + ] }, "chartVisibility": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { "type": "boolean" } }, "projectId": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "type": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "enum": [ "project", "experiment", @@ -11631,14 +12468,18 @@ ] }, "groupBy": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] } } }, "freezeColumns": { - "type": "boolean", - "nullable": true + "type": [ + "boolean", + "null" + ] } }, "required": [ @@ -11651,53 +12492,73 @@ "type": "object", "properties": { "columnVisibility": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { "type": "boolean" } }, "columnOrder": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" } }, "columnSizing": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { "type": "number" } }, "grouping": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "rowHeight": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "tallGroupRows": { - "type": "boolean", - "nullable": true + "type": [ + "boolean", + "null" + ] }, "layout": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "topicMapReportKey": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "chartHeight": { - "type": "number", - "nullable": true + "type": [ + "number", + "null" + ] }, "excludedMeasures": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "object", "properties": { @@ -11721,8 +12582,10 @@ } }, "yMetric": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "type": { "type": "string", @@ -11743,8 +12606,10 @@ ] }, "xAxis": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "type": { "type": "string", @@ -11765,8 +12630,10 @@ ] }, "symbolGrouping": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "type": { "type": "string", @@ -11787,8 +12654,10 @@ ] }, "pointSizeMetric": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "type": { "type": "string", @@ -11809,13 +12678,17 @@ ] }, "xAxisAggregation": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "One of 'avg', 'sum', 'min', 'max', 'median', 'all'" }, "chartAnnotations": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "object", "properties": { @@ -11858,8 +12731,10 @@ ] }, "queryShape": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "enum": [ "traces", "spans", @@ -11869,12 +12744,16 @@ ] }, "cluster": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "freezeColumns": { - "type": "boolean", - "nullable": true + "type": [ + "boolean", + "null" + ] } }, "title": "TableViewOptions" @@ -11921,8 +12800,7 @@ "monitor", "for_review_project_log", "for_review_experiments", - "for_review_datasets", - null + "for_review_datasets" ], "description": "Type of object that the view corresponds to." }, @@ -11931,8 +12809,10 @@ "description": "Name of the view" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the view" }, "starred": { @@ -11940,14 +12820,18 @@ "description": "Whether the view is starred in its project" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of view creation" }, "updated_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of last view update" }, @@ -11958,14 +12842,18 @@ "$ref": "#/components/schemas/ViewOptions" }, "user_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifies the user who created the view" }, "deleted_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of role deletion, or null if the role is still active" } @@ -12009,8 +12897,7 @@ "monitor", "for_review_project_log", "for_review_experiments", - "for_review_datasets", - null + "for_review_datasets" ], "description": "Type of object that the view corresponds to." }, @@ -12019,8 +12906,10 @@ "description": "Name of the view" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the view" }, "view_data": { @@ -12030,14 +12919,18 @@ "$ref": "#/components/schemas/ViewOptions" }, "user_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifies the user who created the view" }, "deleted_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of role deletion, or null if the role is still active" } @@ -12061,8 +12954,10 @@ "description": "The id of the object the view applies to" }, "view_type": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "enum": [ "projects", "experiments", @@ -12087,13 +12982,17 @@ "description": "Type of object that the view corresponds to." }, "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the view" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the view" }, "starred": { @@ -12107,8 +13006,10 @@ "$ref": "#/components/schemas/ViewOptions" }, "user_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifies the user who created the view" } @@ -12136,8 +13037,10 @@ ] }, "ImageRenderingMode": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "enum": [ "auto", "click_to_load", @@ -12159,39 +13062,55 @@ "description": "Name of the organization" }, "api_url": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "is_universal_api": { - "type": "boolean", - "nullable": true + "type": [ + "boolean", + "null" + ] }, "is_dataplane_private": { - "type": "boolean", - "nullable": true + "type": [ + "boolean", + "null" + ] }, "proxy_url": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "realtime_url": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of organization creation" }, "archived_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time" }, "deleted_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time" }, "image_rendering_mode": { @@ -12207,29 +13126,41 @@ "type": "object", "properties": { "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the organization" }, "api_url": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "is_universal_api": { - "type": "boolean", - "nullable": true + "type": [ + "boolean", + "null" + ] }, "is_dataplane_private": { - "type": "boolean", - "nullable": true + "type": [ + "boolean", + "null" + ] }, "proxy_url": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "realtime_url": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "image_rendering_mode": { "$ref": "#/components/schemas/ImageRenderingMode" @@ -12250,13 +13181,17 @@ "description": "The id of the org that was modified." }, "send_email_error": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "If invite emails failed to send for some reason, the patch operation will still complete, but we will return an error message here" }, "added_users": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "object", "properties": { @@ -12265,16 +13200,22 @@ "format": "uuid" }, "email": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "api_key": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "token_name": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] } }, "required": [ @@ -12293,12 +13234,16 @@ "type": "object", "properties": { "invite_users": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "ids": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "format": "uuid", @@ -12307,16 +13252,20 @@ "description": "Ids of existing users to invite" }, "emails": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, "description": "Emails of users to invite" }, "service_accounts": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "object", "properties": { @@ -12324,15 +13273,18 @@ "type": "string" }, "token_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Optional name of an initial service token to create for the new service account. When set, authenticate with a UI session or service token, not a user API key. The caller must own the organization or the project group specified by invite_users.project_group_id." }, "token_expires_in_seconds": { - "type": "integer", - "nullable": true, - "minimum": 0, - "exclusiveMinimum": true, + "type": [ + "integer", + "null" + ], + "exclusiveMinimum": 0, "description": "Number of seconds from now after which the initial service token should expire. If omitted, the token never expires." } }, @@ -12343,13 +13295,17 @@ "description": "Service accounts to create. PATCH /v1/organization/members is the compatibility layer that accepts both plain service-account creation and the narrower token_name create-and-mint carve-out." }, "send_invite_emails": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "If true, send invite emails to the users who wore actually added" }, "group_ids": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "format": "uuid", @@ -12358,8 +13314,10 @@ "description": "Optional list of group ids to add newly-invited users to." }, "group_names": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "description": "Name of the group" @@ -12367,19 +13325,25 @@ "description": "Optional list of group names to add newly-invited users to." }, "group_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Singular form of group_ids" }, "group_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Singular form of group_names" }, "project_group_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Grants new service accounts read access to this project group. Required when a project-group Owner creates service accounts." } @@ -12387,12 +13351,16 @@ "description": "Users to invite to the organization" }, "remove_users": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "ids": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string", "format": "uuid", @@ -12401,8 +13369,10 @@ "description": "Ids of users to remove" }, "emails": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -12412,13 +13382,17 @@ "description": "Users to remove from the organization" }, "org_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, or in case you want to explicitly assert the organization you are modifying, you may specify the name of the organization." }, "org_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, or in case you want to explicitly assert the organization you are modifying, you may specify the id of the organization." } } @@ -12432,8 +13406,10 @@ "description": "Unique identifier for the api key" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of api key creation" }, @@ -12445,35 +13421,47 @@ "type": "string" }, "user_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Unique identifier for the user" }, "user_email": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The user's email" }, "user_given_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Given name of the user" }, "user_family_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Family name of the user" }, "org_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Unique identifier for the organization" }, "expires_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date at which the API key expires. If null, the key never expires." } @@ -12493,8 +13481,10 @@ "description": "Unique identifier for the service token" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of service token creation" }, @@ -12506,30 +13496,40 @@ "type": "string" }, "service_account_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Unique identifier for the service token" }, "service_account_email": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The service account email (not routable)" }, "service_account_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The service account name" }, "org_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Unique identifier for the organization" }, "expires_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date and time at which the service token expires. If null, the token never expires." }, @@ -12554,8 +13554,10 @@ "description": "Unique identifier for the service token" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of service token creation" }, @@ -12567,30 +13569,40 @@ "type": "string" }, "service_account_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Unique identifier for the service token" }, "service_account_email": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The service account email (not routable)" }, "service_account_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The service account name" }, "org_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Unique identifier for the organization" }, "expires_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date and time at which the service token expires. If null, the token never expires." } @@ -12623,20 +13635,26 @@ "description": "Unique identifier for the AI secret" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of AI secret creation" }, "updated_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of last AI secret update" }, "secret_updated_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of last update to the encrypted secret value itself" }, @@ -12650,25 +13668,31 @@ "description": "Name of the AI secret" }, "type": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - } + "type": [ + "object", + "null" + ], + "additionalProperties": {} }, "secret_updated_by_user_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "User id of the last update to the encrypted secret value" }, "preview_secret": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] } }, "required": [ @@ -12685,24 +13709,30 @@ "description": "Name of the AI secret" }, "type": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - } + "type": [ + "object", + "null" + ], + "additionalProperties": {} }, "secret": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Secret value. If omitted in a PUT request, the existing secret value will be left intact, not replaced with null." }, "org_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization the AI Secret belongs in." } }, @@ -12718,8 +13748,10 @@ "description": "Name of the AI secret" }, "org_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization the AI Secret belongs in." } }, @@ -12731,24 +13763,30 @@ "type": "object", "properties": { "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the AI secret" }, "type": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - } + "type": [ + "object", + "null" + ], + "additionalProperties": {} }, "secret": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] } } }, @@ -12780,45 +13818,57 @@ "description": "The name of the environment variable" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of environment variable creation" }, "secret_updated_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of last update to the encrypted secret value itself" }, "secret_updated_by_user_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "User id of the last update to the encrypted secret value" }, "used": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date the environment variable was last used" }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "Optional metadata associated with the environment variable when managed via the function secrets API" }, "preview_secret": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Redacted preview of the stored secret value" }, "secret_type": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Optional classification for the secret (for example, the AI provider name)" }, "secret_category": { @@ -12854,20 +13904,26 @@ "description": "Unique identifier for the project that the MCP server belongs under" }, "user_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "uuid", "description": "Identifies the user who created the MCP server" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of MCP server creation" }, "deleted_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of MCP server deletion, or null if the MCP server is still active" }, @@ -12876,8 +13932,10 @@ "description": "Name of the MCP server. Within a project, MCP server names are unique" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the MCP server" }, "url": { @@ -12905,8 +13963,10 @@ "description": "Name of the MCP server. Within a project, MCP server names are unique" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the MCP server" }, "url": { @@ -12924,18 +13984,24 @@ "type": "object", "properties": { "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the MCP server. Within a project, MCP server names are unique" }, "url": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "URL of the MCP server endpoint" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the MCP server" } } @@ -12958,16 +14024,20 @@ "description": "Name of the dataset snapshot" }, "description": { - "type": "string", - "nullable": true + "type": [ + "string", + "null" + ] }, "xact_id": { "type": "string", "description": "Transaction id of the brainstore version at the time of the snapshot" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of dataset snapshot creation" } @@ -12995,8 +14065,10 @@ "description": "Name of the dataset snapshot" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the dataset snapshot" }, "xact_id": { @@ -13015,13 +14087,17 @@ "type": "object", "properties": { "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the dataset snapshot" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the dataset snapshot" } } @@ -13043,8 +14119,7 @@ }, "speaking_rate": { "type": "number", - "minimum": 0, - "exclusiveMinimum": true + "exclusiveMinimum": 0 } }, "required": [ @@ -13080,8 +14155,10 @@ "description": "Name of the simulated user" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of simulated user creation" }, @@ -13109,8 +14186,10 @@ ] }, "AppLimit": { - "type": "integer", - "nullable": true, + "type": [ + "integer", + "null" + ], "minimum": 0, "maximum": 1000, "default": 100, @@ -13159,8 +14238,10 @@ "description": "The simulated user's role, scenario, and behavior" }, "goal": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "minLength": 1, "description": "The simulated user's objective. Set to null to clear it." }, @@ -13192,19 +14273,25 @@ "description": "A url-friendly, unique identifier for the environment within an organization" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the environment" }, "created": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of environment creation" }, "deleted_at": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "format": "date-time", "description": "Date of environment deletion, or null if the environment is still active" } @@ -13228,13 +14315,17 @@ "description": "A url-friendly, unique identifier for the environment within an organization" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the environment" }, "org_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization the environment belongs in." } }, @@ -13247,18 +14338,24 @@ "type": "object", "properties": { "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the environment" }, "slug": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "A url-friendly, unique identifier for the environment within an organization" }, "description": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Textual description of the environment" } } @@ -13267,24 +14364,30 @@ "type": "object", "properties": { "experiment": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { "$ref": "#/components/schemas/InsertEventsResponse" }, "description": "A mapping from experiment id to row ids for inserted `events`" }, "dataset": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { "$ref": "#/components/schemas/InsertEventsResponse" }, "description": "A mapping from dataset id to row ids for inserted `events`" }, "project_logs": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { "$ref": "#/components/schemas/InsertEventsResponse" }, @@ -13296,22 +14399,28 @@ "type": "object", "properties": { "experiment": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { "type": "object", "properties": { "events": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "$ref": "#/components/schemas/InsertExperimentEvent" }, "description": "A list of experiment events to insert" }, "feedback": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "$ref": "#/components/schemas/FeedbackExperimentItem" }, @@ -13322,22 +14431,28 @@ "description": "A mapping from experiment id to a set of log events and feedback items to insert" }, "dataset": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { "type": "object", "properties": { "events": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "$ref": "#/components/schemas/InsertDatasetEvent" }, "description": "A list of dataset events to insert" }, "feedback": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "$ref": "#/components/schemas/FeedbackDatasetItem" }, @@ -13348,22 +14463,28 @@ "description": "A mapping from dataset id to a set of log events and feedback items to insert" }, "project_logs": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { "type": "object", "properties": { "events": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "$ref": "#/components/schemas/InsertProjectLogsEvent" }, "description": "A list of project logs events to insert" }, "feedback": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "$ref": "#/components/schemas/FeedbackProjectLogsItem" }, @@ -13391,8 +14512,10 @@ "$ref": "#/components/schemas/PreprocessorId" }, "tool_functions": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "allOf": [ { @@ -13451,8 +14574,10 @@ } }, "template_format": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "enum": [ "mustache", "nunjucks", @@ -13461,8 +14586,10 @@ ] }, "mcp": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "additionalProperties": { "oneOf": [ { @@ -13482,8 +14609,10 @@ "type": "boolean" }, "enabled_tools": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -13512,8 +14641,10 @@ "type": "boolean" }, "enabled_tools": { - "type": "array", - "nullable": true, + "type": [ + "array", + "null" + ], "items": { "type": "string" }, @@ -13530,8 +14661,10 @@ } }, "origin": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "prompt_id": { "type": "string" @@ -13668,8 +14801,10 @@ ] }, "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The name of the inline code function" } }, @@ -13688,16 +14823,16 @@ }, "inline_function": { "type": "object", - "additionalProperties": { - "nullable": true - } + "additionalProperties": {} }, "function_type": { "$ref": "#/components/schemas/FunctionTypeEnum" }, "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The name of the inline function" } }, @@ -13717,8 +14852,10 @@ "$ref": "#/components/schemas/FunctionTypeEnum" }, "name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The name of the inline prompt" } }, @@ -13732,8 +14869,10 @@ "description": "The function to evaluate" }, "GitMetadataSettings": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "collect": { "type": "string", @@ -13783,21 +14922,25 @@ "type": "string" }, "dataset_version": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The version of the dataset to evaluate" }, "dataset_environment": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The environment tag that resolves to the dataset version to evaluate" }, "_internal_btql": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - } + "type": [ + "object", + "null" + ], + "additionalProperties": {} } }, "required": [ @@ -13816,21 +14959,25 @@ "type": "string" }, "dataset_version": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The version of the dataset to evaluate" }, "dataset_environment": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The environment tag that resolves to the dataset version to evaluate" }, "_internal_btql": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - } + "type": [ + "object", + "null" + ], + "additionalProperties": {} } }, "required": [ @@ -13845,9 +14992,7 @@ "properties": { "data": { "type": "array", - "items": { - "nullable": true - } + "items": {} }, "source_dataset_id": { "type": "string", @@ -13882,9 +15027,7 @@ }, "parameters": { "type": "object", - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "Values for any parameters used in the eval" }, "task": { @@ -13910,9 +15053,7 @@ }, "metadata": { "type": "object", - "additionalProperties": { - "nullable": true - }, + "additionalProperties": {}, "description": "Optional experiment-level metadata to store about the evaluation. You can later use this to slice & dice across experiments." }, "parent": { @@ -13930,34 +15071,46 @@ "description": "Whether to stream the results of the eval. If true, the request will return two events: one to indicate the experiment has started, and another upon completion. If false, the request will return the evaluation's summary upon completion." }, "trial_count": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "description": "The number of times to run the evaluator per input. This is useful for evaluating applications that have non-deterministic behavior and gives you both a stronger aggregate measure and a sense of the variance in the results." }, "is_public": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "Whether the experiment should be public. Defaults to false." }, "timeout": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "description": "The maximum duration, in milliseconds, to run the evaluation. There is no timeout by default." }, "max_concurrency": { - "type": "number", - "nullable": true, + "type": [ + "number", + "null" + ], "default": 10, "description": "The maximum number of tasks/scorers that will be run concurrently. Defaults to 10. If null is provided, no max concurrency will be used." }, "base_experiment_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "An optional experiment name to use as a base. If specified, the new experiment will be summarized and compared to this experiment." }, "base_experiment_id": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "An optional experiment id to use as a base. If specified, the new experiment will be summarized and compared to this experiment." }, "git_metadata_settings": { @@ -13974,13 +15127,17 @@ ] }, "strict": { - "type": "boolean", - "nullable": true, + "type": [ + "boolean", + "null" + ], "description": "If true, throw an error if one of the variables in the prompt is not present in the input" }, "stop_token": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The token to stop the run" }, "extra_messages": { @@ -14007,8 +15164,10 @@ } }, "endpoint_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Name of the AI provider secret to pin this run to." } }, @@ -14871,9 +16030,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -14886,9 +16043,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -14901,9 +16056,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -14923,9 +16076,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -14938,9 +16089,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -15012,9 +16161,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15027,9 +16174,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15042,9 +16187,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15064,9 +16207,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15079,9 +16220,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -15127,9 +16266,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15142,9 +16279,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15157,9 +16292,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15179,9 +16312,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15194,9 +16325,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -15251,9 +16380,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15266,9 +16393,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15281,9 +16406,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15303,9 +16426,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15318,9 +16439,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -15364,9 +16483,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15379,9 +16496,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15394,9 +16509,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15416,9 +16529,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15431,9 +16542,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -15490,9 +16599,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15505,9 +16612,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15520,9 +16625,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15542,9 +16645,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15557,9 +16658,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -15616,9 +16715,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15631,9 +16728,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15646,9 +16741,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15668,9 +16761,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15683,9 +16774,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -15741,9 +16830,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15756,9 +16843,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15771,9 +16856,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15793,9 +16876,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15808,9 +16889,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -15867,9 +16946,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15882,9 +16959,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15897,9 +16972,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15919,9 +16992,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -15934,9 +17005,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -15988,9 +17057,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16003,9 +17070,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16018,9 +17083,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16040,9 +17103,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16055,9 +17116,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -16135,9 +17194,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16150,9 +17207,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16165,9 +17220,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16187,9 +17240,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16202,9 +17253,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -16250,9 +17299,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16265,9 +17312,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16280,9 +17325,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16302,9 +17345,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16317,9 +17358,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -16374,9 +17413,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16389,9 +17426,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16404,9 +17439,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16426,9 +17459,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16441,9 +17472,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -16487,9 +17516,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16502,9 +17529,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16517,9 +17542,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16539,9 +17562,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16554,9 +17575,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -16613,9 +17632,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16628,9 +17645,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16643,9 +17658,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16665,9 +17678,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16680,9 +17691,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -16739,9 +17748,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16754,9 +17761,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16769,9 +17774,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16791,9 +17794,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16806,9 +17807,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -16864,9 +17863,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16879,9 +17876,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16894,9 +17889,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16916,9 +17909,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -16931,9 +17922,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -16990,9 +17979,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17005,9 +17992,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17020,9 +18005,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17042,9 +18025,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17057,9 +18038,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -17110,9 +18089,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17125,9 +18102,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17140,9 +18115,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17162,9 +18135,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17177,9 +18148,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -17231,9 +18200,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17246,9 +18213,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17261,9 +18226,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17283,9 +18246,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17298,9 +18259,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -17378,9 +18337,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17393,9 +18350,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17408,9 +18363,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17430,9 +18383,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17445,9 +18396,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -17493,9 +18442,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17508,9 +18455,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17523,9 +18468,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17545,9 +18488,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17560,9 +18501,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -17617,9 +18556,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17632,9 +18569,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17647,9 +18582,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17669,9 +18602,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17684,9 +18615,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -17730,9 +18659,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17745,9 +18672,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17760,9 +18685,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17782,9 +18705,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17797,9 +18718,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -17856,9 +18775,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17871,9 +18788,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17886,9 +18801,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17908,9 +18821,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17923,9 +18834,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -17982,9 +18891,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -17997,9 +18904,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18012,9 +18917,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18034,9 +18937,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18049,9 +18950,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -18107,9 +19006,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18122,9 +19019,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18137,9 +19032,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18159,9 +19052,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18174,9 +19065,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -18233,9 +19122,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18248,9 +19135,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18263,9 +19148,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18285,9 +19168,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18300,9 +19181,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -18350,9 +19229,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18365,9 +19242,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18380,9 +19255,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18402,9 +19275,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18417,9 +19288,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -18475,9 +19344,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18490,9 +19357,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18505,9 +19370,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18527,9 +19390,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18542,9 +19403,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -18600,9 +19459,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18615,9 +19472,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18630,9 +19485,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18652,9 +19505,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18667,9 +19518,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -18721,9 +19570,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18736,9 +19583,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18751,9 +19596,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18773,9 +19616,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18788,9 +19629,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -18840,9 +19679,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18855,9 +19692,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18870,9 +19705,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18892,9 +19725,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -18907,9 +19738,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -18996,9 +19825,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19011,9 +19838,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19026,9 +19851,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19048,9 +19871,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19063,9 +19884,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -19117,9 +19936,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19132,9 +19949,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19147,9 +19962,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19169,9 +19982,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19184,9 +19995,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -19241,9 +20050,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19256,9 +20063,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19271,9 +20076,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19293,9 +20096,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19308,9 +20109,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -19354,9 +20153,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19369,9 +20166,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19384,9 +20179,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19406,9 +20199,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19421,9 +20212,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -19475,9 +20264,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19490,9 +20277,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19505,9 +20290,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19527,9 +20310,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19542,9 +20323,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -19594,9 +20373,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19609,9 +20386,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19624,9 +20399,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19646,9 +20419,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19661,9 +20432,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -19735,9 +20504,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19750,9 +20517,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19765,9 +20530,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19787,9 +20550,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19802,9 +20563,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -19850,9 +20609,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19865,9 +20622,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19880,9 +20635,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19902,9 +20655,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19917,9 +20668,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -19974,9 +20723,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -19989,9 +20736,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20004,9 +20749,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20026,9 +20769,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20041,9 +20782,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -20087,9 +20826,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20102,9 +20839,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20117,9 +20852,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20139,9 +20872,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20154,9 +20885,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -20208,9 +20937,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20223,9 +20950,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20238,9 +20963,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20260,9 +20983,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20275,9 +20996,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -20327,9 +21046,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20342,9 +21059,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20357,9 +21072,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20379,9 +21092,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20394,9 +21105,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -20468,9 +21177,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20483,9 +21190,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20498,9 +21203,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20520,9 +21223,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20535,9 +21236,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -20583,9 +21282,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20598,9 +21295,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20613,9 +21308,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20635,9 +21328,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20650,9 +21341,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -20707,9 +21396,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20722,9 +21409,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20737,9 +21422,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20759,9 +21442,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20774,9 +21455,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -20820,9 +21499,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20835,9 +21512,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20850,9 +21525,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20872,9 +21545,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20887,9 +21558,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -20941,9 +21610,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20956,9 +21623,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20971,9 +21636,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -20993,9 +21656,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21008,9 +21669,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -21060,9 +21719,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21075,9 +21732,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21090,9 +21745,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21112,9 +21765,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21127,9 +21778,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -21201,9 +21850,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21216,9 +21863,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21231,9 +21876,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21253,9 +21896,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21268,9 +21909,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -21316,9 +21955,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21331,9 +21968,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21346,9 +21981,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21368,9 +22001,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21383,9 +22014,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -21440,9 +22069,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21455,9 +22082,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21470,9 +22095,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21492,9 +22115,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21507,9 +22128,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -21553,9 +22172,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21568,9 +22185,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21583,9 +22198,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21605,9 +22218,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21620,9 +22231,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -21674,9 +22283,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21689,9 +22296,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21704,9 +22309,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21726,9 +22329,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21741,9 +22342,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -21793,9 +22392,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21808,9 +22405,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21823,9 +22418,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21845,9 +22438,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21860,9 +22451,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -21949,9 +22538,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21964,9 +22551,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -21979,9 +22564,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22001,9 +22584,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22016,9 +22597,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -22064,9 +22643,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22079,9 +22656,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22094,9 +22669,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22116,9 +22689,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22131,9 +22702,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -22177,9 +22746,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22192,9 +22759,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22207,9 +22772,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22229,9 +22792,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22244,9 +22805,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -22298,9 +22857,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22313,9 +22870,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22328,9 +22883,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22350,9 +22903,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22365,9 +22916,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -22449,9 +22998,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22464,9 +23011,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22479,9 +23024,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22501,9 +23044,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22516,9 +23057,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -22598,9 +23137,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22613,9 +23150,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22628,9 +23163,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22650,9 +23183,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22665,9 +23196,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -22713,9 +23242,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22728,9 +23255,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22743,9 +23268,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22765,9 +23288,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22780,9 +23301,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -22834,9 +23353,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22849,9 +23366,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22864,9 +23379,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22886,9 +23399,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22901,9 +23412,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -22953,9 +23462,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22968,9 +23475,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -22983,9 +23488,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23005,9 +23508,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23020,9 +23521,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -23094,9 +23593,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23109,9 +23606,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23124,9 +23619,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23146,9 +23639,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23161,9 +23652,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -23209,9 +23698,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23224,9 +23711,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23239,9 +23724,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23261,9 +23744,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23276,9 +23757,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -23333,9 +23812,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23348,9 +23825,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23363,9 +23838,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23385,9 +23858,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23400,9 +23871,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -23446,9 +23915,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23461,9 +23928,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23476,9 +23941,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23498,9 +23961,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23513,9 +23974,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -23567,9 +24026,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23582,9 +24039,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23597,9 +24052,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23619,9 +24072,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23634,9 +24085,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -23686,9 +24135,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23701,9 +24148,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23716,9 +24161,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23738,9 +24181,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23753,9 +24194,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -23827,9 +24266,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23842,9 +24279,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23857,9 +24292,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23879,9 +24312,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23894,9 +24325,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -23942,9 +24371,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23957,9 +24384,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23972,9 +24397,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -23994,9 +24417,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24009,9 +24430,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -24066,9 +24485,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24081,9 +24498,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24096,9 +24511,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24118,9 +24531,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24133,9 +24544,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -24179,9 +24588,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24194,9 +24601,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24209,9 +24614,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24231,9 +24634,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24246,9 +24647,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -24300,9 +24699,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24315,9 +24712,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24330,9 +24725,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24352,9 +24745,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24367,9 +24758,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -24419,9 +24808,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24434,9 +24821,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24449,9 +24834,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24471,9 +24854,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24486,9 +24867,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -24560,9 +24939,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24575,9 +24952,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24590,9 +24965,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24612,9 +24985,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24627,9 +24998,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -24675,9 +25044,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24690,9 +25057,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24705,9 +25070,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24727,9 +25090,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24742,9 +25103,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -24799,9 +25158,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24814,9 +25171,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24829,9 +25184,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24851,9 +25204,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24866,9 +25217,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -24912,9 +25261,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24927,9 +25274,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24942,9 +25287,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24964,9 +25307,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -24979,9 +25320,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -25033,9 +25372,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25048,9 +25385,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25063,9 +25398,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25085,9 +25418,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25100,9 +25431,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -25152,9 +25481,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25167,9 +25494,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25182,9 +25507,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25204,9 +25527,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25219,9 +25540,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -25302,9 +25621,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25317,9 +25634,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25332,9 +25647,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25354,9 +25667,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25369,9 +25680,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -25417,9 +25726,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25432,9 +25739,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25447,9 +25752,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25469,9 +25772,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25484,9 +25785,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -25541,9 +25840,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25556,9 +25853,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25571,9 +25866,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25593,9 +25886,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25608,9 +25899,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -25654,9 +25943,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25669,9 +25956,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25684,9 +25969,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25706,9 +25989,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25721,9 +26002,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -25775,9 +26054,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25790,9 +26067,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25805,9 +26080,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25827,9 +26100,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25842,9 +26113,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -25894,9 +26163,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25909,9 +26176,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25924,9 +26189,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25946,9 +26209,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -25961,9 +26222,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -26041,9 +26300,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26056,9 +26313,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26071,9 +26326,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26093,9 +26346,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26108,9 +26359,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -26156,9 +26405,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26171,9 +26418,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26186,9 +26431,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26208,9 +26451,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26223,9 +26464,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -26280,9 +26519,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26295,9 +26532,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26310,9 +26545,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26332,9 +26565,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26347,9 +26578,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -26393,9 +26622,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26408,9 +26635,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26423,9 +26648,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26445,9 +26668,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26460,9 +26681,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -26514,9 +26733,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26529,9 +26746,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26544,9 +26759,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26566,9 +26779,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26581,9 +26792,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -26633,9 +26842,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26648,9 +26855,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26663,9 +26868,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26685,9 +26888,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26700,9 +26901,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -26774,9 +26973,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26789,9 +26986,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26804,9 +26999,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26826,9 +27019,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26841,9 +27032,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -26889,9 +27078,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26904,9 +27091,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26919,9 +27104,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26941,9 +27124,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -26956,9 +27137,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -27013,9 +27192,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27028,9 +27205,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27043,9 +27218,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27065,9 +27238,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27080,9 +27251,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -27126,9 +27295,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27141,9 +27308,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27156,9 +27321,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27178,9 +27341,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27193,9 +27354,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -27247,9 +27406,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27262,9 +27419,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27277,9 +27432,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27299,9 +27452,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27314,9 +27465,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -27366,9 +27515,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27381,9 +27528,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27396,9 +27541,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27418,9 +27561,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27433,9 +27574,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -27522,9 +27661,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27537,9 +27674,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27552,9 +27687,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27574,9 +27707,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27589,9 +27720,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -27643,9 +27772,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27658,9 +27785,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27673,9 +27798,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27695,9 +27818,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27710,9 +27831,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -27767,9 +27886,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27782,9 +27899,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27797,9 +27912,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27819,9 +27932,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27834,9 +27945,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -27880,9 +27989,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27895,9 +28002,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27910,9 +28015,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27932,9 +28035,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -27947,9 +28048,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -27990,9 +28089,7 @@ "description": "Function invocation response. Scorer results follow the ScoreResult schema: a single score defaults to the function name when unnamed; arrays require a unique name for every score.", "content": { "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -28044,9 +28141,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28059,9 +28154,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28074,9 +28167,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28096,9 +28187,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28111,9 +28200,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -28163,9 +28250,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28178,9 +28263,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28193,9 +28276,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28215,9 +28296,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28230,9 +28309,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -28310,9 +28387,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28325,9 +28400,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28340,9 +28413,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28362,9 +28433,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28377,9 +28446,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -28431,9 +28498,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28446,9 +28511,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28461,9 +28524,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28483,9 +28544,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28498,9 +28557,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -28555,9 +28612,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28570,9 +28625,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28585,9 +28638,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28607,9 +28658,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28622,9 +28671,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -28679,9 +28726,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28694,9 +28739,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28709,9 +28752,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28731,9 +28772,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28746,9 +28785,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -28819,9 +28856,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28834,9 +28869,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28849,9 +28882,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28871,9 +28902,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28886,9 +28915,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -28934,9 +28961,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28949,9 +28974,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28964,9 +28987,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -28986,9 +29007,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29001,9 +29020,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -29058,9 +29075,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29073,9 +29088,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29088,9 +29101,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29110,9 +29121,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29125,9 +29134,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -29179,9 +29186,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29194,9 +29199,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29209,9 +29212,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29231,9 +29232,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29246,9 +29245,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -29328,9 +29325,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29343,9 +29338,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29358,9 +29351,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29380,9 +29371,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29395,9 +29384,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -29471,9 +29458,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29486,9 +29471,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29501,9 +29484,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29523,9 +29504,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29538,9 +29517,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -29586,9 +29563,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29601,9 +29576,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29616,9 +29589,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29638,9 +29609,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29653,9 +29622,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -29699,9 +29666,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29714,9 +29679,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29729,9 +29692,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29751,9 +29712,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29766,9 +29725,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -29802,19 +29759,22 @@ "description": "Name of the service token. Does not have to be unique" }, "org_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization the Service token belongs in." }, "service_account_id": { "type": "string", - "description": "The ID of the service account to which the token should belong. To create a service account, visit [**Settings > Service tokens**](https://www.braintrust.dev/app/~/configuration/org/service-tokens) in the Braintrust UI or call [`PATCH /v1/organization/members`](https://www.braintrust.dev/docs/api-reference/organizations/modify-organization-membership)." + "description": "The ID of the service account to which the token should belong. To create a service account, visit [**Settings > Service tokens**](https://www.braintrust.dev/app/~/configuration/org/service-tokens) in the Braintrust UI or call [`PATCH /v1/organization/members`](https://docs.braintrust.dev/api-reference/organizations/modify-organization-membership)." }, "expires_in_seconds": { - "type": "integer", - "nullable": true, - "minimum": 0, - "exclusiveMinimum": true, + "type": [ + "integer", + "null" + ], + "exclusiveMinimum": 0, "description": "Number of seconds from now after which the service token should expire. If omitted, the token never expires." } }, @@ -29846,9 +29806,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29861,9 +29819,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29876,9 +29832,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29898,9 +29852,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -29913,9 +29865,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -29947,19 +29897,22 @@ "description": "Name of the service token. Does not have to be unique" }, "org_name": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization the Service token belongs in." }, "service_account_id": { "type": "string", - "description": "The ID of the service account to which the token should belong. To create a service account, visit [**Settings > Service tokens**](https://www.braintrust.dev/app/~/configuration/org/service-tokens) in the Braintrust UI or call [`PATCH /v1/organization/members`](https://www.braintrust.dev/docs/api-reference/organizations/modify-organization-membership)." + "description": "The ID of the service account to which the token should belong. To create a service account, visit [**Settings > Service tokens**](https://www.braintrust.dev/app/~/configuration/org/service-tokens) in the Braintrust UI or call [`PATCH /v1/organization/members`](https://docs.braintrust.dev/api-reference/organizations/modify-organization-membership)." }, "expires_in_seconds": { - "type": "integer", - "nullable": true, - "minimum": 0, - "exclusiveMinimum": true, + "type": [ + "integer", + "null" + ], + "exclusiveMinimum": 0, "description": "Number of seconds from now after which the service token should expire. If omitted, the token never expires." } }, @@ -29991,9 +29944,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30006,9 +29957,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30021,9 +29970,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30043,9 +29990,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30058,9 +30003,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -30110,9 +30053,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30125,9 +30066,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30140,9 +30079,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30162,9 +30099,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30177,9 +30112,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -30190,7 +30123,7 @@ "tags": [ "ServiceTokens" ], - "description": "List out all service tokens. They are sorted by creation date, with the most recently-created tokens coming first.\n\nTo create a service token, visit [**Settings > Service tokens**](https://www.braintrust.dev/app/~/configuration/org/service-tokens) as an organization owner or an Owner of an active project group in the organization, or call [`POST /v1/service_token`](https://www.braintrust.dev/docs/api-reference/servicetokens/create-service_token) with a service token. Results include only service tokens you can manage.", + "description": "List out all service tokens. They are sorted by creation date, with the most recently-created tokens coming first.\n\nTo create a service token, visit [**Settings > Service tokens**](https://www.braintrust.dev/app/~/configuration/org/service-tokens) as an organization owner or an Owner of an active project group in the organization, or call [`POST /v1/service_token`](https://docs.braintrust.dev/api-reference/servicetokens/create-service_token) with a service token. Results include only service tokens you can manage.", "summary": "List service tokens", "security": [ { @@ -30251,9 +30184,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30266,9 +30197,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30281,9 +30210,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30303,9 +30230,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30318,9 +30243,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -30366,9 +30289,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30381,9 +30302,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30396,9 +30315,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30418,9 +30335,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30433,9 +30348,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -30479,9 +30392,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30494,9 +30405,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30509,9 +30418,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30531,9 +30438,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30546,9 +30451,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -30600,9 +30503,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30615,9 +30516,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30630,9 +30529,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30652,9 +30549,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30667,9 +30562,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -30719,9 +30612,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30734,9 +30625,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30749,9 +30638,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30771,9 +30658,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30786,9 +30671,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -30838,9 +30721,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30853,9 +30734,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30868,9 +30747,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30890,9 +30767,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30905,9 +30780,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -30982,9 +30855,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -30997,9 +30868,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31012,9 +30881,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31034,9 +30901,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31049,9 +30914,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -31097,9 +30960,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31112,9 +30973,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31127,9 +30986,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31149,9 +31006,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31164,9 +31019,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -31221,9 +31074,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31236,9 +31087,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31251,9 +31100,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31273,9 +31120,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31288,9 +31133,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -31334,9 +31177,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31349,9 +31190,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31364,9 +31203,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31386,9 +31223,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31401,9 +31236,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -31452,21 +31285,25 @@ "description": "The name of the environment variable" }, "value": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The value of the environment variable. Will be encrypted at rest." }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "Optional metadata associated with the environment variable when managed via the function secrets API" }, "secret_type": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Optional classification for the secret (for example, the AI provider name)" } }, @@ -31499,9 +31336,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31514,9 +31349,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31529,9 +31362,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31551,9 +31382,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31566,9 +31395,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -31615,21 +31442,25 @@ "description": "The name of the environment variable" }, "value": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The value of the environment variable. Will be encrypted at rest." }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "Optional metadata associated with the environment variable when managed via the function secrets API" }, "secret_type": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Optional classification for the secret (for example, the AI provider name)" } }, @@ -31662,9 +31493,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31677,9 +31506,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31692,9 +31519,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31714,9 +31539,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31729,9 +31552,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -31800,9 +31621,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31815,9 +31634,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31830,9 +31647,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31852,9 +31667,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31867,9 +31680,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -31915,9 +31726,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31930,9 +31739,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31945,9 +31752,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31967,9 +31772,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -31982,9 +31785,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -32021,21 +31822,25 @@ "description": "The name of the environment variable" }, "value": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "The value of the environment variable. Will be encrypted at rest." }, "metadata": { - "type": "object", - "nullable": true, - "additionalProperties": { - "nullable": true - }, + "type": [ + "object", + "null" + ], + "additionalProperties": {}, "description": "Optional metadata associated with the environment variable when managed via the function secrets API" }, "secret_type": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Optional classification for the secret (for example, the AI provider name)" } }, @@ -32066,9 +31871,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32081,9 +31884,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32096,9 +31897,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32118,9 +31917,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32133,9 +31930,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -32179,9 +31974,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32194,9 +31987,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32209,9 +32000,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32231,9 +32020,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32246,9 +32033,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -32300,9 +32085,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32315,9 +32098,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32330,9 +32111,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32352,9 +32131,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32367,9 +32144,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -32419,9 +32194,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32434,9 +32207,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32449,9 +32220,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32471,9 +32240,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32486,9 +32253,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -32560,9 +32325,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32575,9 +32338,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32590,9 +32351,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32612,9 +32371,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32627,9 +32384,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -32675,9 +32430,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32690,9 +32443,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32705,9 +32456,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32727,9 +32476,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32742,9 +32489,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -32799,9 +32544,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32814,9 +32557,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32829,9 +32570,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32851,9 +32590,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32866,9 +32603,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -32912,9 +32647,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32927,9 +32660,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32942,9 +32673,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32964,9 +32693,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -32979,9 +32706,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -33033,9 +32758,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33048,9 +32771,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33063,9 +32784,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33085,9 +32804,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33100,9 +32817,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -33152,9 +32867,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33167,9 +32880,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33182,9 +32893,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33204,9 +32913,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33219,9 +32926,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -33293,9 +32998,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33308,9 +33011,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33323,9 +33024,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33345,9 +33044,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33360,9 +33057,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -33408,9 +33103,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33423,9 +33116,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33438,9 +33129,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33460,9 +33149,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33475,9 +33162,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -33532,9 +33217,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33547,9 +33230,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33562,9 +33243,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33584,9 +33263,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33599,9 +33276,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -33645,9 +33320,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33660,9 +33333,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33675,9 +33346,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33697,9 +33366,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33712,9 +33379,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -33821,9 +33486,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33836,9 +33499,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33851,9 +33512,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33873,9 +33532,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33888,9 +33545,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -33950,9 +33605,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33965,9 +33618,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -33980,9 +33631,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34002,9 +33651,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34017,9 +33664,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -34080,9 +33725,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34095,9 +33738,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34110,9 +33751,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34132,9 +33771,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34147,9 +33784,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -34218,9 +33853,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34233,9 +33866,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34248,9 +33879,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34270,9 +33899,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34285,9 +33912,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -34346,9 +33971,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34361,9 +33984,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34376,9 +33997,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34398,9 +34017,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34413,9 +34030,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -34502,9 +34117,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34517,9 +34130,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34532,9 +34143,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34554,9 +34163,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34569,9 +34176,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -34619,9 +34224,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34634,9 +34237,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34649,9 +34250,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34671,9 +34270,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34686,9 +34283,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -34740,9 +34335,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34755,9 +34348,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34770,9 +34361,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34792,9 +34381,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34807,9 +34394,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -34868,9 +34453,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34883,9 +34466,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34898,9 +34479,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34920,9 +34499,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -34935,9 +34512,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -34987,9 +34562,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -35002,9 +34575,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -35017,9 +34588,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -35039,9 +34608,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -35054,9 +34621,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -35092,9 +34657,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -35107,9 +34670,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -35160,9 +34721,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -35175,9 +34734,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -35190,9 +34747,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -35212,9 +34767,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -35227,9 +34780,7 @@ } }, "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -35255,9 +34806,7 @@ "required": true, "content": { "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -35266,9 +34815,7 @@ "description": "Proxy response (supports both streaming and non-streaming formats)", "content": { "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -35294,9 +34841,7 @@ "required": true, "content": { "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -35305,9 +34850,7 @@ "description": "Proxy response (supports both streaming and non-streaming formats)", "content": { "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -35333,9 +34876,7 @@ "required": true, "content": { "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -35344,9 +34885,7 @@ "description": "Proxy response (supports both streaming and non-streaming formats)", "content": { "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -35372,9 +34911,7 @@ "required": true, "content": { "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -35383,9 +34920,7 @@ "description": "Proxy response (supports both streaming and non-streaming formats)", "content": { "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -35415,8 +34950,10 @@ "type": "object", "properties": { "model": { - "type": "string", - "nullable": true, + "type": [ + "string", + "null" + ], "description": "Granted model name. Null/undefined to grant usage of all models." }, "ttl_seconds": { @@ -35426,8 +34963,10 @@ "description": "TTL of the temporary credential. 10 minutes by default." }, "logging": { - "type": "object", - "nullable": true, + "type": [ + "object", + "null" + ], "properties": { "project_name": { "type": "string" @@ -35513,9 +35052,7 @@ "required": true, "content": { "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } }, @@ -35524,9 +35061,7 @@ "description": "Proxy response (supports both streaming and non-streaming formats)", "content": { "application/json": { - "schema": { - "nullable": true - } + "schema": {} } } } @@ -35539,7 +35074,7 @@ "tags": [ "Evals" ], - "description": "Launch an evaluation. This is the API-equivalent of the `Eval` function that is built into the Braintrust SDK. In the Eval API, you provide pointers to a dataset, task function, and scoring functions. The API will then run the evaluation, create an experiment, and return the results along with a link to the experiment. To learn more about evals, see the [Evals guide](https://www.braintrust.dev/docs/evaluate).", + "description": "Launch an evaluation. This is the API-equivalent of the `Eval` function that is built into the Braintrust SDK. In the Eval API, you provide pointers to a dataset, task function, and scoring functions. The API will then run the evaluation, create an experiment, and return the results along with a link to the experiment. To learn more about evals, see the [Evals guide](https://docs.braintrust.dev/evaluate).", "summary": "Launch an eval", "security": [ { @@ -35572,5 +35107,6 @@ } } } - } + }, + "webhooks": {} } diff --git a/openapi/spec.yaml b/openapi/spec.yaml index 00c8498..eaafd67 100644 --- a/openapi/spec.yaml +++ b/openapi/spec.yaml @@ -1,4 +1,4 @@ -openapi: 3.0.3 +openapi: 3.1.1 info: version: 1.0.0 title: Braintrust API @@ -43,8 +43,7 @@ components: - type: "null" metadata: type: object - additionalProperties: - nullable: true + additionalProperties: {} required: - score NamedScore: @@ -61,8 +60,7 @@ components: - type: "null" metadata: type: object - additionalProperties: - nullable: true + additionalProperties: {} required: - name ScoreResult: @@ -276,19 +274,22 @@ components: description: Filter search results to a particular set of object IDs. To specify a list of IDs, include the query param multiple times AppLimitParam: - type: integer - nullable: true + type: + - integer + - "null" minimum: 0 description: Limit the number of objects to return AppLimitWithDefaultParam: - type: integer - nullable: true + type: + - integer + - "null" minimum: 0 default: 1000 description: Limit the number of objects to return FetchLimitParam: - type: integer - nullable: true + type: + - integer + - "null" minimum: 0 description: >- Limit the number of traces fetched @@ -390,8 +391,9 @@ components: `limit=1` or other filters (for example `slug`, `project_id`) to narrow results. SummarizeScores: - type: boolean - nullable: true + type: + - boolean + - "null" description: Whether to summarize the scores and metrics. If false (or omitted), only the metadata will be returned. ComparisonExperimentId: @@ -402,8 +404,9 @@ components: experiment metadata, and then to the most recent experiment run in the same project. Must pass `summarize_scores=true` for this id to be used SummarizeData: - type: boolean - nullable: true + type: + - boolean + - "null" description: Whether to summarize the data. If false (or omitted), only the metadata will be returned. Slug: @@ -430,7 +433,6 @@ components: - for_review_project_log - for_review_experiments - for_review_datasets - - null description: Type of object that the view corresponds to. UserGivenName: anyOf: @@ -604,7 +606,6 @@ components: - tag - parameters - sandbox - - null default: scorer description: The type of global function. Defaults to 'scorer'. NullableSavedFunctionId: @@ -642,22 +643,26 @@ components: description: Default preprocessor for this project. When set, functions that use preprocessors will use this instead of their built-in default. ProjectSettings: - type: object - nullable: true + type: + - object + - "null" properties: comparison_key: - type: string - nullable: true + type: + - string + - "null" description: The key used to join two experiments (defaults to `input`) baseline_experiment_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: The id of the experiment to use as the default baseline for comparisons spanFieldOrder: - type: array - nullable: true + type: + - array + - "null" items: type: object properties: @@ -682,45 +687,53 @@ components: - position description: The order of the fields to display in the trace view remote_eval_sources: - type: array - nullable: true + type: + - array + - "null" items: type: object properties: url: type: string name: - type: string - nullable: true + type: + - string + - "null" description: - type: string - nullable: true + type: + - string + - "null" required: - url description: The remote eval sources to use for the project disable_realtime_queries: - type: boolean - nullable: true + type: + - boolean + - "null" description: If true, disable real-time queries for this project. This can improve query performance for high-volume logs. monitor_charts_use_metrics_start: - type: boolean - nullable: true + type: + - boolean + - "null" description: If true, use metrics.start rather than created for monitor chart time bucket dimensions. coding_agent_insights_dashboard: - type: boolean - nullable: true + type: + - boolean + - "null" description: If true, enable the agent insights dashboard for this project. blind_reviews: - type: boolean - nullable: true + type: + - boolean + - "null" description: If true, hide peer review scores, comments, and aggregate results from reviewers without project update permissions until they submit their own review. require_all_human_review_scores: - type: boolean - nullable: true + type: + - boolean + - "null" description: If true, automatically complete a review after every assigned reviewer fills all human review scores visible to them. default_preprocessor: @@ -740,22 +753,26 @@ components: type: string description: Name of the project description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the project created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of project creation deleted_at: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of project deletion, or null if the project is still active user_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifies the user who created the project settings: @@ -772,18 +789,21 @@ components: minLength: 1 description: Name of the project description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the project org_name: - type: string - nullable: true + type: + - string + - "null" description: For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization the project belongs in. project_group_name: - type: string - nullable: true + type: + - string + - "null" minLength: 1 description: Create the project within the named project group in this organization. Requires project_group:update on the group's @@ -794,15 +814,18 @@ components: type: object properties: name: - type: string - nullable: true + type: + - string + - "null" description: Name of the project description: - type: string - nullable: true + type: + - string + - "null" user_id: - type: string - nullable: true + type: + - string + - "null" settings: allOf: - $ref: "#/components/schemas/ProjectSettings" @@ -820,8 +843,9 @@ components: required: - row_ids SpanType: - type: string - nullable: true + type: + - string + - "null" enum: - llm - score @@ -840,26 +864,30 @@ components: - null description: Type of the span, for display purposes only SpanAttributes: - type: object - nullable: true + type: + - object + - "null" properties: name: - type: string - nullable: true + type: + - string + - "null" description: Name of the span, for display purposes only type: $ref: "#/components/schemas/SpanType" purpose: - type: string - nullable: true + type: + - string + - "null" enum: - scorer - null description: A special value that indicates the span was generated by a scoring automation log_level: - type: string - nullable: true + type: + - string + - "null" enum: - trace - debug @@ -869,12 +897,12 @@ components: - fatal - null description: Severity level of a log - additionalProperties: - nullable: true + additionalProperties: {} description: Human-identifying attributes of the span, such as name, type, etc. ObjectReferenceNullish: - type: object - nullable: true + type: + - object + - "null" properties: object_type: type: string @@ -894,12 +922,14 @@ components: type: string description: ID of the original event. _xact_id: - type: string - nullable: true + type: + - string + - "null" description: Transaction ID of the original event. created: - type: string - nullable: true + type: + - string + - "null" description: Created timestamp of the original event. Used to help sort in the UI required: - object_type @@ -910,11 +940,9 @@ components: type: object properties: input: - nullable: true description: The arguments that uniquely define a user input (an arbitrary, JSON serializable object). output: - nullable: true description: The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that @@ -922,7 +950,6 @@ components: SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question. expected: - nullable: true description: The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to @@ -931,14 +958,15 @@ components: navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models. error: - nullable: true description: The error that occurred, if any. scores: - type: object - nullable: true + type: + - object + - "null" additionalProperties: - type: number - nullable: true + type: + - number + - "null" minimum: 0 maximum: 1 description: A dictionary of numeric values (between 0 and 1) to log. The scores @@ -951,15 +979,16 @@ components: summarization was covering similar concepts or not. You can use these scores to help you sort, filter, and compare logs. metadata: - type: object - nullable: true + type: + - object + - "null" properties: model: - type: string - nullable: true + type: + - string + - "null" description: The model used for this example - additionalProperties: - nullable: true + additionalProperties: {} description: A dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could @@ -967,48 +996,52 @@ components: useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags to log metrics: - type: object - nullable: true + type: + - object + - "null" properties: start: - type: number - nullable: true + type: + - number + - "null" description: A unix timestamp recording when the section of code which produced the project logs event started end: - type: number - nullable: true + type: + - number + - "null" description: A unix timestamp recording when the section of code which produced the project logs event finished prompt_tokens: - type: integer - nullable: true + type: + - integer + - "null" description: The number of tokens in the prompt used to generate the project logs event (only set if this is an LLM span) completion_tokens: - type: integer - nullable: true + type: + - integer + - "null" description: The number of tokens in the completion generated by the model (only set if this is an LLM span) tokens: - type: integer - nullable: true + type: + - integer + - "null" description: The total number of tokens in the input and output of the project logs event. caller_functionname: - nullable: true description: Deprecated. Use `context.caller_functionname` instead. caller_filename: - nullable: true description: Deprecated. Use `context.caller_filename` instead. caller_lineno: - nullable: true description: Deprecated. Use `context.caller_lineno` instead. additionalProperties: type: number @@ -1016,23 +1049,26 @@ components: code that produced the project logs event. Use "start" and "end" to track the time span over which the project logs event was produced context: - type: object - nullable: true + type: + - object + - "null" properties: caller_functionname: - type: string - nullable: true + type: + - string + - "null" description: The function in code which created the project logs event caller_filename: - type: string - nullable: true + type: + - string + - "null" description: Name of the file in code where the project logs event was created caller_lineno: - type: integer - nullable: true + type: + - integer + - "null" description: Line of code where the project logs event was created - additionalProperties: - nullable: true + additionalProperties: {} description: Context is additional information about the code that produced the project logs event. It is essentially the textual counterpart to `metrics`. Use the `caller_*` attributes to track the location in @@ -1040,33 +1076,39 @@ components: span_attributes: $ref: "#/components/schemas/SpanAttributes" id: - type: string - nullable: true + type: + - string + - "null" description: A unique identifier for the project logs event. If you don't provide one, Braintrust will generate one for you created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: The timestamp the project logs event was created origin: $ref: "#/components/schemas/ObjectReferenceNullish" facets: - type: object - nullable: true + type: + - object + - "null" additionalProperties: - type: string - nullable: true + type: + - string + - "null" description: Facets for categorization (dictionary from facet id to value) _object_delete: - type: boolean - nullable: true + type: + - boolean + - "null" description: Pass `_object_delete=true` to mark the project logs event deleted. Deleted events will not show up in subsequent fetches for this project logs _is_merge: - type: boolean - nullable: true + type: + - boolean + - "null" description: >- The `_is_merge` field controls how the row is merged with any existing row with the same id in the DB. By default (or when set to @@ -1084,8 +1126,9 @@ components: 11, "c": 20}}`, the new row will be `{"id": "foo", "input": {"b": 11, "c": 20}}` _merge_paths: - type: array - nullable: true + type: + - array + - "null" items: type: array items: @@ -1107,8 +1150,9 @@ components: paths, we have replaced `input.a` and `output`, but have still deep-merged `input` and `input.c`. _array_delete: - type: array - nullable: true + type: + - array + - "null" items: type: object properties: @@ -1118,8 +1162,7 @@ components: type: string delete: type: array - items: - nullable: true + items: {} required: - path - delete @@ -1136,8 +1179,9 @@ components: This will remove those specific values from the array while preserving others. _parent_id: - type: string - nullable: true + type: + - string + - "null" description: >- DEPRECATED: The `_parent_id` field is deprecated and should not be used. Support for `_parent_id` will be dropped in a future version @@ -1147,8 +1191,8 @@ components: Use the `_parent_id` field to create this row as a subspan of an existing row. Tracking hierarchical relationships are important for - tracing (see the [guide](https://www.braintrust.dev/docs/instrument) - for full details). + tracing (see the [guide](https://docs.braintrust.dev/instrument) for + full details). For example, say we have logged a row `{"id": "abc", "input": "foo", @@ -1164,15 +1208,15 @@ components: If the row is being merged into an existing row, this field will be ignored. span_id: - type: string - nullable: true + type: + - string + - "null" description: >- Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the - [guide](https://www.braintrust.dev/docs/instrument) for full - details. + [guide](https://docs.braintrust.dev/instrument) for full details. For example, say we have logged a row `{"id": "abc", "span_id": @@ -1190,15 +1234,15 @@ components: If the row is being merged into an existing row, this field will be ignored. root_span_id: - type: string - nullable: true + type: + - string + - "null" description: >- Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the - [guide](https://www.braintrust.dev/docs/instrument) for full - details. + [guide](https://docs.braintrust.dev/instrument) for full details. For example, say we have logged a row `{"id": "abc", "span_id": @@ -1216,8 +1260,9 @@ components: If the row is being merged into an existing row, this field will be ignored. span_parents: - type: array - nullable: true + type: + - array + - "null" items: type: string description: >- @@ -1225,8 +1270,7 @@ components: `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the - [guide](https://www.braintrust.dev/docs/instrument) for full - details. + [guide](https://docs.braintrust.dev/instrument) for full details. For example, say we have logged a row `{"id": "abc", "span_id": @@ -1301,8 +1345,9 @@ components: monotonically increasing over time and can be used to retrieve a versioned snapshot of the project logs (see the `version` parameter) _pagination_key: - type: string - nullable: true + type: + - string + - "null" description: A stable, time-ordered key that can be used to paginate over project logs events. This field is auto-generated by Braintrust and only exists in Brainstore. @@ -1324,11 +1369,9 @@ components: - g description: A literal 'g' which identifies the log as a project log input: - nullable: true description: The arguments that uniquely define a user input (an arbitrary, JSON serializable object). output: - nullable: true description: The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that @@ -1336,7 +1379,6 @@ components: SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question. expected: - nullable: true description: The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to @@ -1345,14 +1387,15 @@ components: navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models. error: - nullable: true description: The error that occurred, if any. scores: - type: object - nullable: true + type: + - object + - "null" additionalProperties: - type: number - nullable: true + type: + - number + - "null" minimum: 0 maximum: 1 description: A dictionary of numeric values (between 0 and 1) to log. The scores @@ -1365,15 +1408,16 @@ components: summarization was covering similar concepts or not. You can use these scores to help you sort, filter, and compare logs. metadata: - type: object - nullable: true + type: + - object + - "null" properties: model: - type: string - nullable: true + type: + - string + - "null" description: The model used for this example - additionalProperties: - nullable: true + additionalProperties: {} description: A dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could @@ -1381,48 +1425,52 @@ components: useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags to log metrics: - type: object - nullable: true + type: + - object + - "null" properties: start: - type: number - nullable: true + type: + - number + - "null" description: A unix timestamp recording when the section of code which produced the project logs event started end: - type: number - nullable: true + type: + - number + - "null" description: A unix timestamp recording when the section of code which produced the project logs event finished prompt_tokens: - type: integer - nullable: true + type: + - integer + - "null" description: The number of tokens in the prompt used to generate the project logs event (only set if this is an LLM span) completion_tokens: - type: integer - nullable: true + type: + - integer + - "null" description: The number of tokens in the completion generated by the model (only set if this is an LLM span) tokens: - type: integer - nullable: true + type: + - integer + - "null" description: The total number of tokens in the input and output of the project logs event. caller_functionname: - nullable: true description: Deprecated. Use `context.caller_functionname` instead. caller_filename: - nullable: true description: Deprecated. Use `context.caller_filename` instead. caller_lineno: - nullable: true description: Deprecated. Use `context.caller_lineno` instead. additionalProperties: type: number @@ -1430,23 +1478,26 @@ components: code that produced the project logs event. Use "start" and "end" to track the time span over which the project logs event was produced context: - type: object - nullable: true + type: + - object + - "null" properties: caller_functionname: - type: string - nullable: true + type: + - string + - "null" description: The function in code which created the project logs event caller_filename: - type: string - nullable: true + type: + - string + - "null" description: Name of the file in code where the project logs event was created caller_lineno: - type: integer - nullable: true + type: + - integer + - "null" description: Line of code where the project logs event was created - additionalProperties: - nullable: true + additionalProperties: {} description: Context is additional information about the code that produced the project logs event. It is essentially the textual counterpart to `metrics`. Use the `caller_*` attributes to track the location in @@ -1455,11 +1506,12 @@ components: type: string description: A unique identifier used to link different project logs events together as part of a full trace. See the [tracing - guide](https://www.braintrust.dev/docs/instrument) for full details - on tracing + guide](https://docs.braintrust.dev/instrument) for full details on + tracing span_parents: - type: array - nullable: true + type: + - array + - "null" items: type: string description: An array of the parent `span_ids` of this project logs event. This @@ -1469,38 +1521,41 @@ components: type: string description: A unique identifier for the trace this project logs event belongs to is_root: - type: boolean - nullable: true + type: + - boolean + - "null" description: Whether this span is a root span span_attributes: $ref: "#/components/schemas/SpanAttributes" origin: $ref: "#/components/schemas/ObjectReferenceNullish" comments: - type: array - nullable: true - items: - nullable: true + type: + - array + - "null" + items: {} description: Optional list of comments attached to this event audit_data: - type: array - nullable: true - items: - nullable: true + type: + - array + - "null" + items: {} description: Optional list of audit entries attached to this event _async_scoring_state: - nullable: true description: The async scoring state for this event facets: - type: object - nullable: true + type: + - object + - "null" additionalProperties: - type: string - nullable: true + type: + - string + - "null" description: Facets for categorization (dictionary from facet id to value) classifications: - type: object - nullable: true + type: + - object + - "null" additionalProperties: type: array items: @@ -1514,14 +1569,15 @@ components: description: Original label of the classification item, which is useful for search and indexing purposes confidence: - type: number - nullable: true + type: + - number + - "null" description: Optional confidence score for the classification metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: Optional metadata associated with the classification source: $ref: "#/components/schemas/SavedFunctionId" @@ -1547,8 +1603,9 @@ components: $ref: "#/components/schemas/ProjectLogsEvent" description: A list of fetched events cursor: - type: string - nullable: true + type: + - string + - "null" description: >- Pagination cursor @@ -1559,8 +1616,9 @@ components: required: - events FetchLimit: - type: integer - nullable: true + type: + - integer + - "null" minimum: 0 description: >- Limit the number of traces fetched @@ -1581,8 +1639,9 @@ components: you may end up with more individual rows than the specified limit if you are fetching events containing traces. FetchPaginationCursor: - type: string - nullable: true + type: + - string + - "null" description: >- An opaque string to be used as a cursor for the next page of results, in order from latest to earliest. @@ -1598,14 +1657,17 @@ components: cursor: $ref: "#/components/schemas/FetchPaginationCursor" max_xact_id: - $ref: "#/components/schemas/MaxXactId" - nullable: true + anyOf: + - $ref: "#/components/schemas/MaxXactId" + - type: "null" max_root_span_id: - $ref: "#/components/schemas/MaxRootSpanId" - nullable: true + anyOf: + - $ref: "#/components/schemas/MaxRootSpanId" + - type: "null" version: - $ref: "#/components/schemas/Version" - nullable: true + anyOf: + - $ref: "#/components/schemas/Version" + - type: "null" FeedbackResponseSchema: type: object properties: @@ -1623,37 +1685,40 @@ components: description: The id of the project logs event to log feedback for. This is the row `id` returned by `POST /v1/project_logs/{project_id}/insert` scores: - type: object - nullable: true + type: + - object + - "null" additionalProperties: - type: number - nullable: true + type: + - number + - "null" minimum: 0 maximum: 1 description: A dictionary of numeric values (between 0 and 1) to log. These scores will be merged into the existing scores for the project logs event expected: - nullable: true description: The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not comment: - type: string - nullable: true + type: + - string + - "null" description: An optional comment string to log about the project logs event metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: A dictionary with additional data about the feedback. If you have a `user_id`, you can log it here and access it in the Braintrust UI. Note, this metadata does not correspond to the main event itself, but rather the audit log attached to the event. source: - type: string - nullable: true + type: + - string + - "null" enum: - app - api @@ -1662,8 +1727,9 @@ components: description: The source of the feedback. Must be one of "external" (default), "app", or "api" tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags to log @@ -1680,44 +1746,54 @@ components: required: - feedback RepoInfo: - type: object - nullable: true + type: + - object + - "null" properties: commit: - type: string - nullable: true + type: + - string + - "null" description: SHA of most recent commit branch: - type: string - nullable: true + type: + - string + - "null" description: Name of the branch the most recent commit belongs to tag: - type: string - nullable: true + type: + - string + - "null" description: Name of the tag on the most recent commit dirty: - type: boolean - nullable: true + type: + - boolean + - "null" description: Whether or not the repo had uncommitted changes when snapshotted author_name: - type: string - nullable: true + type: + - string + - "null" description: Name of the author of the most recent commit author_email: - type: string - nullable: true + type: + - string + - "null" description: Email of the author of the most recent commit commit_message: - type: string - nullable: true + type: + - string + - "null" description: Most recent commit message commit_time: - type: string - nullable: true + type: + - string + - "null" description: Time of the most recent commit git_diff: - type: string - nullable: true + type: + - string + - "null" description: If the repo was dirty when run, this includes the diff between the current state of the repo and the most recent commit. description: Metadata about the state of the repo when the experiment was created @@ -1736,66 +1812,75 @@ components: type: string description: Name of the experiment. Within a project, experiment names are unique description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the experiment created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of experiment creation repo_info: $ref: "#/components/schemas/RepoInfo" commit: - type: string - nullable: true + type: + - string + - "null" description: Commit, taken directly from `repo_info.commit` base_exp_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Id of default base experiment to compare against when viewing this experiment deleted_at: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of experiment deletion, or null if the experiment is still active dataset_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifier of the linked dataset, or null if the experiment is not linked to a dataset dataset_version: - type: string - nullable: true + type: + - string + - "null" description: Version number of the linked dataset the experiment was run against. This can be used to reproduce the experiment after the dataset has been modified. internal_metadata: - type: object - nullable: true + type: + - object + - "null" properties: dataset_filter: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: BTQL filter payload used to evaluate a subset of a linked dataset. - additionalProperties: - nullable: true + additionalProperties: {} description: Braintrust-controlled metadata about the experiment. parameters_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifier of the linked saved parameters object, or null if the experiment is not linked to saved parameters parameters_version: - type: string - nullable: true + type: + - string + - "null" description: Version number of the linked saved parameters object the experiment was run against. public: @@ -1803,19 +1888,21 @@ components: description: Whether or not the experiment is public. Public experiments can be viewed by anybody inside or outside the organization user_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifies the user who created the experiment metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: User-controlled metadata about the experiment tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags for the experiment @@ -1832,78 +1919,88 @@ components: format: uuid description: Unique identifier for the project that the experiment belongs under name: - type: string - nullable: true + type: + - string + - "null" minLength: 1 description: Name of the experiment. Within a project, experiment names are unique description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the experiment repo_info: $ref: "#/components/schemas/RepoInfo" base_exp_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Id of default base experiment to compare against when viewing this experiment dataset_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifier of the linked dataset, or null if the experiment is not linked to a dataset dataset_version: - type: string - nullable: true + type: + - string + - "null" description: Version number of the linked dataset the experiment was run against. This can be used to reproduce the experiment after the dataset has been modified. internal_metadata: - type: object - nullable: true + type: + - object + - "null" properties: dataset_filter: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: BTQL filter payload used to evaluate a subset of a linked dataset. - additionalProperties: - nullable: true + additionalProperties: {} description: Braintrust-controlled metadata about the experiment. parameters_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifier of the linked saved parameters object, or null if the experiment is not linked to saved parameters parameters_version: - type: string - nullable: true + type: + - string + - "null" description: Version number of the linked saved parameters object the experiment was run against. public: - type: boolean - nullable: true + type: + - boolean + - "null" description: Whether or not the experiment is public. Public experiments can be viewed by anybody inside or outside the organization metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: User-controlled metadata about the experiment tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags for the experiment ensure_new: - type: boolean - nullable: true + type: + - boolean + - "null" description: Normally, creating an experiment with the same name as an existing experiment will return the existing one un-modified. But if `ensure_new` is true, registration will generate a new experiment @@ -1914,71 +2011,80 @@ components: type: object properties: name: - type: string - nullable: true + type: + - string + - "null" description: Name of the experiment. Within a project, experiment names are unique description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the experiment repo_info: $ref: "#/components/schemas/RepoInfo" base_exp_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Id of default base experiment to compare against when viewing this experiment dataset_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifier of the linked dataset, or null if the experiment is not linked to a dataset dataset_version: - type: string - nullable: true + type: + - string + - "null" description: Version number of the linked dataset the experiment was run against. This can be used to reproduce the experiment after the dataset has been modified. internal_metadata: - type: object - nullable: true + type: + - object + - "null" properties: dataset_filter: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: BTQL filter payload used to evaluate a subset of a linked dataset. - additionalProperties: - nullable: true + additionalProperties: {} description: Braintrust-controlled metadata about the experiment. parameters_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifier of the linked saved parameters object, or null if the experiment is not linked to saved parameters parameters_version: - type: string - nullable: true + type: + - string + - "null" description: Version number of the linked saved parameters object the experiment was run against. public: - type: boolean - nullable: true + type: + - boolean + - "null" description: Whether or not the experiment is public. Public experiments can be viewed by anybody inside or outside the organization metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: User-controlled metadata about the experiment tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags for the experiment @@ -1986,7 +2092,6 @@ components: type: object properties: input: - nullable: true description: The arguments that uniquely define a test case (an arbitrary, JSON serializable object). Later on, Braintrust will use the `input` to know whether two test cases are the same between experiments, so @@ -1994,7 +2099,6 @@ components: thumb is that if you run the same experiment twice, the `input` should be identical output: - nullable: true description: The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that @@ -2002,7 +2106,6 @@ components: SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question expected: - nullable: true description: The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to @@ -2012,14 +2115,15 @@ components: may later use these values to re-score outputs or fine-tune your models error: - nullable: true description: The error that occurred, if any. scores: - type: object - nullable: true + type: + - object + - "null" additionalProperties: - type: number - nullable: true + type: + - number + - "null" minimum: 0 maximum: 1 description: A dictionary of numeric values (between 0 and 1) to log. The scores @@ -2032,15 +2136,16 @@ components: summarization was covering similar concepts or not. You can use these scores to help you sort, filter, and compare experiments metadata: - type: object - nullable: true + type: + - object + - "null" properties: model: - type: string - nullable: true + type: + - string + - "null" description: The model used for this example - additionalProperties: - nullable: true + additionalProperties: {} description: A dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could @@ -2048,48 +2153,52 @@ components: useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags to log metrics: - type: object - nullable: true + type: + - object + - "null" properties: start: - type: number - nullable: true + type: + - number + - "null" description: A unix timestamp recording when the section of code which produced the experiment event started end: - type: number - nullable: true + type: + - number + - "null" description: A unix timestamp recording when the section of code which produced the experiment event finished prompt_tokens: - type: integer - nullable: true + type: + - integer + - "null" description: The number of tokens in the prompt used to generate the experiment event (only set if this is an LLM span) completion_tokens: - type: integer - nullable: true + type: + - integer + - "null" description: The number of tokens in the completion generated by the model (only set if this is an LLM span) tokens: - type: integer - nullable: true + type: + - integer + - "null" description: The total number of tokens in the input and output of the experiment event. caller_functionname: - nullable: true description: Deprecated. Use `context.caller_functionname` instead. caller_filename: - nullable: true description: Deprecated. Use `context.caller_filename` instead. caller_lineno: - nullable: true description: Deprecated. Use `context.caller_lineno` instead. additionalProperties: type: number @@ -2097,23 +2206,26 @@ components: code that produced the experiment event. Use "start" and "end" to track the time span over which the experiment event was produced context: - type: object - nullable: true + type: + - object + - "null" properties: caller_functionname: - type: string - nullable: true + type: + - string + - "null" description: The function in code which created the experiment event caller_filename: - type: string - nullable: true + type: + - string + - "null" description: Name of the file in code where the experiment event was created caller_lineno: - type: integer - nullable: true + type: + - integer + - "null" description: Line of code where the experiment event was created - additionalProperties: - nullable: true + additionalProperties: {} description: Context is additional information about the code that produced the experiment event. It is essentially the textual counterpart to `metrics`. Use the `caller_*` attributes to track the location in @@ -2121,33 +2233,39 @@ components: span_attributes: $ref: "#/components/schemas/SpanAttributes" id: - type: string - nullable: true + type: + - string + - "null" description: A unique identifier for the experiment event. If you don't provide one, Braintrust will generate one for you created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: The timestamp the experiment event was created origin: $ref: "#/components/schemas/ObjectReferenceNullish" facets: - type: object - nullable: true + type: + - object + - "null" additionalProperties: - type: string - nullable: true + type: + - string + - "null" description: Facets for categorization (dictionary from facet id to value) _object_delete: - type: boolean - nullable: true + type: + - boolean + - "null" description: Pass `_object_delete=true` to mark the experiment event deleted. Deleted events will not show up in subsequent fetches for this experiment _is_merge: - type: boolean - nullable: true + type: + - boolean + - "null" description: >- The `_is_merge` field controls how the row is merged with any existing row with the same id in the DB. By default (or when set to @@ -2165,8 +2283,9 @@ components: 11, "c": 20}}`, the new row will be `{"id": "foo", "input": {"b": 11, "c": 20}}` _merge_paths: - type: array - nullable: true + type: + - array + - "null" items: type: array items: @@ -2188,8 +2307,9 @@ components: paths, we have replaced `input.a` and `output`, but have still deep-merged `input` and `input.c`. _array_delete: - type: array - nullable: true + type: + - array + - "null" items: type: object properties: @@ -2199,8 +2319,7 @@ components: type: string delete: type: array - items: - nullable: true + items: {} required: - path - delete @@ -2217,8 +2336,9 @@ components: This will remove those specific values from the array while preserving others. _parent_id: - type: string - nullable: true + type: + - string + - "null" description: >- DEPRECATED: The `_parent_id` field is deprecated and should not be used. Support for `_parent_id` will be dropped in a future version @@ -2228,8 +2348,8 @@ components: Use the `_parent_id` field to create this row as a subspan of an existing row. Tracking hierarchical relationships are important for - tracing (see the [guide](https://www.braintrust.dev/docs/instrument) - for full details). + tracing (see the [guide](https://docs.braintrust.dev/instrument) for + full details). For example, say we have logged a row `{"id": "abc", "input": "foo", @@ -2245,15 +2365,15 @@ components: If the row is being merged into an existing row, this field will be ignored. span_id: - type: string - nullable: true + type: + - string + - "null" description: >- Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the - [guide](https://www.braintrust.dev/docs/instrument) for full - details. + [guide](https://docs.braintrust.dev/instrument) for full details. For example, say we have logged a row `{"id": "abc", "span_id": @@ -2271,15 +2391,15 @@ components: If the row is being merged into an existing row, this field will be ignored. root_span_id: - type: string - nullable: true + type: + - string + - "null" description: >- Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the - [guide](https://www.braintrust.dev/docs/instrument) for full - details. + [guide](https://docs.braintrust.dev/instrument) for full details. For example, say we have logged a row `{"id": "abc", "span_id": @@ -2297,8 +2417,9 @@ components: If the row is being merged into an existing row, this field will be ignored. span_parents: - type: array - nullable: true + type: + - array + - "null" items: type: string description: >- @@ -2306,8 +2427,7 @@ components: `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the - [guide](https://www.braintrust.dev/docs/instrument) for full - details. + [guide](https://docs.braintrust.dev/instrument) for full details. For example, say we have logged a row `{"id": "abc", "span_id": @@ -2353,8 +2473,9 @@ components: format: date-time description: The timestamp the experiment event was created _pagination_key: - type: string - nullable: true + type: + - string + - "null" description: A stable, time-ordered key that can be used to paginate over experiment events. This field is auto-generated by Braintrust and only exists in Brainstore. @@ -2367,7 +2488,6 @@ components: format: uuid description: Unique identifier for the experiment input: - nullable: true description: The arguments that uniquely define a test case (an arbitrary, JSON serializable object). Later on, Braintrust will use the `input` to know whether two test cases are the same between experiments, so @@ -2375,7 +2495,6 @@ components: thumb is that if you run the same experiment twice, the `input` should be identical output: - nullable: true description: The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that @@ -2383,7 +2502,6 @@ components: SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question expected: - nullable: true description: The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to @@ -2393,14 +2511,15 @@ components: may later use these values to re-score outputs or fine-tune your models error: - nullable: true description: The error that occurred, if any. scores: - type: object - nullable: true + type: + - object + - "null" additionalProperties: - type: number - nullable: true + type: + - number + - "null" minimum: 0 maximum: 1 description: A dictionary of numeric values (between 0 and 1) to log. The scores @@ -2413,15 +2532,16 @@ components: summarization was covering similar concepts or not. You can use these scores to help you sort, filter, and compare experiments metadata: - type: object - nullable: true + type: + - object + - "null" properties: model: - type: string - nullable: true + type: + - string + - "null" description: The model used for this example - additionalProperties: - nullable: true + additionalProperties: {} description: A dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could @@ -2429,48 +2549,52 @@ components: useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags to log metrics: - type: object - nullable: true + type: + - object + - "null" properties: start: - type: number - nullable: true + type: + - number + - "null" description: A unix timestamp recording when the section of code which produced the experiment event started end: - type: number - nullable: true + type: + - number + - "null" description: A unix timestamp recording when the section of code which produced the experiment event finished prompt_tokens: - type: integer - nullable: true + type: + - integer + - "null" description: The number of tokens in the prompt used to generate the experiment event (only set if this is an LLM span) completion_tokens: - type: integer - nullable: true + type: + - integer + - "null" description: The number of tokens in the completion generated by the model (only set if this is an LLM span) tokens: - type: integer - nullable: true + type: + - integer + - "null" description: The total number of tokens in the input and output of the experiment event. caller_functionname: - nullable: true description: Deprecated. Use `context.caller_functionname` instead. caller_filename: - nullable: true description: Deprecated. Use `context.caller_filename` instead. caller_lineno: - nullable: true description: Deprecated. Use `context.caller_lineno` instead. additionalProperties: type: number @@ -2478,23 +2602,26 @@ components: code that produced the experiment event. Use "start" and "end" to track the time span over which the experiment event was produced context: - type: object - nullable: true + type: + - object + - "null" properties: caller_functionname: - type: string - nullable: true + type: + - string + - "null" description: The function in code which created the experiment event caller_filename: - type: string - nullable: true + type: + - string + - "null" description: Name of the file in code where the experiment event was created caller_lineno: - type: integer - nullable: true + type: + - integer + - "null" description: Line of code where the experiment event was created - additionalProperties: - nullable: true + additionalProperties: {} description: Context is additional information about the code that produced the experiment event. It is essentially the textual counterpart to `metrics`. Use the `caller_*` attributes to track the location in @@ -2503,11 +2630,12 @@ components: type: string description: A unique identifier used to link different experiment events together as part of a full trace. See the [tracing - guide](https://www.braintrust.dev/docs/instrument) for full details - on tracing + guide](https://docs.braintrust.dev/instrument) for full details on + tracing span_parents: - type: array - nullable: true + type: + - array + - "null" items: type: string description: An array of the parent `span_ids` of this experiment event. This @@ -2519,33 +2647,37 @@ components: span_attributes: $ref: "#/components/schemas/SpanAttributes" is_root: - type: boolean - nullable: true + type: + - boolean + - "null" description: Whether this span is a root span origin: $ref: "#/components/schemas/ObjectReferenceNullish" comments: - type: array - nullable: true - items: - nullable: true + type: + - array + - "null" + items: {} description: Optional list of comments attached to this event audit_data: - type: array - nullable: true - items: - nullable: true + type: + - array + - "null" + items: {} description: Optional list of audit entries attached to this event facets: - type: object - nullable: true + type: + - object + - "null" additionalProperties: - type: string - nullable: true + type: + - string + - "null" description: Facets for categorization (dictionary from facet id to value) classifications: - type: object - nullable: true + type: + - object + - "null" additionalProperties: type: array items: @@ -2559,14 +2691,15 @@ components: description: Original label of the classification item, which is useful for search and indexing purposes confidence: - type: number - nullable: true + type: + - number + - "null" description: Optional confidence score for the classification metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: Optional metadata associated with the classification source: $ref: "#/components/schemas/SavedFunctionId" @@ -2591,8 +2724,9 @@ components: $ref: "#/components/schemas/ExperimentEvent" description: A list of fetched events cursor: - type: string - nullable: true + type: + - string + - "null" description: >- Pagination cursor @@ -2610,37 +2744,40 @@ components: description: The id of the experiment event to log feedback for. This is the row `id` returned by `POST /v1/experiment/{experiment_id}/insert` scores: - type: object - nullable: true + type: + - object + - "null" additionalProperties: - type: number - nullable: true + type: + - number + - "null" minimum: 0 maximum: 1 description: A dictionary of numeric values (between 0 and 1) to log. These scores will be merged into the existing scores for the experiment event expected: - nullable: true description: The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not comment: - type: string - nullable: true + type: + - string + - "null" description: An optional comment string to log about the experiment event metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: A dictionary with additional data about the feedback. If you have a `user_id`, you can log it here and access it in the Braintrust UI. Note, this metadata does not correspond to the main event itself, but rather the audit log attached to the event. source: - type: string - nullable: true + type: + - string + - "null" enum: - app - api @@ -2649,8 +2786,9 @@ components: description: The source of the feedback. Must be one of "external" (default), "app", or "api" tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags to log @@ -2744,18 +2882,21 @@ components: format: uri description: URL to the experiment's page in the Braintrust app comparison_experiment_name: - type: string - nullable: true + type: + - string + - "null" description: The experiment which scores are baselined against scores: - type: object - nullable: true + type: + - object + - "null" additionalProperties: $ref: "#/components/schemas/ScoreSummary" description: Summary of the experiment's scores metrics: - type: object - nullable: true + type: + - object + - "null" additionalProperties: $ref: "#/components/schemas/MetricSummary" description: Summary of the experiment's metrics @@ -2780,35 +2921,40 @@ components: type: string description: Name of the dataset. Within a project, dataset names are unique description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the dataset created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of dataset creation deleted_at: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of dataset deletion, or null if the dataset is still active user_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifies the user who created the dataset tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags for the dataset metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: User-controlled metadata about the dataset url_slug: type: string @@ -2830,20 +2976,22 @@ components: minLength: 1 description: Name of the dataset. Within a project, dataset names are unique description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the dataset tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags for the dataset metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: User-controlled metadata about the dataset required: - project_id @@ -2852,46 +3000,48 @@ components: type: object properties: name: - type: string - nullable: true + type: + - string + - "null" description: Name of the dataset. Within a project, dataset names are unique description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the dataset tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags for the dataset metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: User-controlled metadata about the dataset InsertDatasetEvent: type: object properties: input: - nullable: true description: The argument that uniquely define an input case (an arbitrary, JSON serializable object) expected: - nullable: true description: The output of your application, including post-processing (an arbitrary, JSON serializable object) metadata: - type: object - nullable: true + type: + - object + - "null" properties: model: - type: string - nullable: true + type: + - string + - "null" description: The model used for this example - additionalProperties: - nullable: true + additionalProperties: {} description: A dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could @@ -2899,39 +3049,46 @@ components: useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags to log id: - type: string - nullable: true + type: + - string + - "null" description: A unique identifier for the dataset event. If you don't provide one, Braintrust will generate one for you created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: The timestamp the dataset event was created origin: $ref: "#/components/schemas/ObjectReferenceNullish" facets: - type: object - nullable: true + type: + - object + - "null" additionalProperties: - type: string - nullable: true + type: + - string + - "null" description: Facets for categorization (dictionary from facet id to value) _object_delete: - type: boolean - nullable: true + type: + - boolean + - "null" description: Pass `_object_delete=true` to mark the dataset event deleted. Deleted events will not show up in subsequent fetches for this dataset _is_merge: - type: boolean - nullable: true + type: + - boolean + - "null" description: >- The `_is_merge` field controls how the row is merged with any existing row with the same id in the DB. By default (or when set to @@ -2949,8 +3106,9 @@ components: 11, "c": 20}}`, the new row will be `{"id": "foo", "input": {"b": 11, "c": 20}}` _merge_paths: - type: array - nullable: true + type: + - array + - "null" items: type: array items: @@ -2972,8 +3130,9 @@ components: paths, we have replaced `input.a` and `output`, but have still deep-merged `input` and `input.c`. _array_delete: - type: array - nullable: true + type: + - array + - "null" items: type: object properties: @@ -2983,8 +3142,7 @@ components: type: string delete: type: array - items: - nullable: true + items: {} required: - path - delete @@ -3001,8 +3159,9 @@ components: This will remove those specific values from the array while preserving others. _parent_id: - type: string - nullable: true + type: + - string + - "null" description: >- DEPRECATED: The `_parent_id` field is deprecated and should not be used. Support for `_parent_id` will be dropped in a future version @@ -3012,8 +3171,8 @@ components: Use the `_parent_id` field to create this row as a subspan of an existing row. Tracking hierarchical relationships are important for - tracing (see the [guide](https://www.braintrust.dev/docs/instrument) - for full details). + tracing (see the [guide](https://docs.braintrust.dev/instrument) for + full details). For example, say we have logged a row `{"id": "abc", "input": "foo", @@ -3029,15 +3188,15 @@ components: If the row is being merged into an existing row, this field will be ignored. span_id: - type: string - nullable: true + type: + - string + - "null" description: >- Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the - [guide](https://www.braintrust.dev/docs/instrument) for full - details. + [guide](https://docs.braintrust.dev/instrument) for full details. For example, say we have logged a row `{"id": "abc", "span_id": @@ -3055,15 +3214,15 @@ components: If the row is being merged into an existing row, this field will be ignored. root_span_id: - type: string - nullable: true + type: + - string + - "null" description: >- Use `span_id`, `root_span_id`, and `span_parents` instead of `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the - [guide](https://www.braintrust.dev/docs/instrument) for full - details. + [guide](https://docs.braintrust.dev/instrument) for full details. For example, say we have logged a row `{"id": "abc", "span_id": @@ -3081,8 +3240,9 @@ components: If the row is being merged into an existing row, this field will be ignored. span_parents: - type: array - nullable: true + type: + - array + - "null" items: type: string description: >- @@ -3090,8 +3250,7 @@ components: `_parent_id`, which is now deprecated. The span_id is a unique identifier describing the row's place in the a trace, and the root_span_id is a unique identifier for the whole trace. See the - [guide](https://www.braintrust.dev/docs/instrument) for full - details. + [guide](https://docs.braintrust.dev/instrument) for full details. For example, say we have logged a row `{"id": "abc", "span_id": @@ -3137,8 +3296,9 @@ components: format: date-time description: The timestamp the dataset event was created _pagination_key: - type: string - nullable: true + type: + - string + - "null" description: A stable, time-ordered key that can be used to paginate over dataset events. This field is auto-generated by Braintrust and only exists in Brainstore. @@ -3151,23 +3311,22 @@ components: format: uuid description: Unique identifier for the dataset input: - nullable: true description: The argument that uniquely define an input case (an arbitrary, JSON serializable object) expected: - nullable: true description: The output of your application, including post-processing (an arbitrary, JSON serializable object) metadata: - type: object - nullable: true + type: + - object + - "null" properties: model: - type: string - nullable: true + type: + - string + - "null" description: The model used for this example - additionalProperties: - nullable: true + additionalProperties: {} description: A dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could @@ -3175,8 +3334,9 @@ components: useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags to log @@ -3184,39 +3344,43 @@ components: type: string description: A unique identifier used to link different dataset events together as part of a full trace. See the [tracing - guide](https://www.braintrust.dev/docs/instrument) for full details - on tracing + guide](https://docs.braintrust.dev/instrument) for full details on + tracing root_span_id: type: string description: A unique identifier for the trace this dataset event belongs to is_root: - type: boolean - nullable: true + type: + - boolean + - "null" description: Whether this span is a root span origin: $ref: "#/components/schemas/ObjectReferenceNullish" comments: - type: array - nullable: true - items: - nullable: true + type: + - array + - "null" + items: {} description: Optional list of comments attached to this event audit_data: - type: array - nullable: true - items: - nullable: true + type: + - array + - "null" + items: {} description: Optional list of audit entries attached to this event facets: - type: object - nullable: true + type: + - object + - "null" additionalProperties: - type: string - nullable: true + type: + - string + - "null" description: Facets for categorization (dictionary from facet id to value) classifications: - type: object - nullable: true + type: + - object + - "null" additionalProperties: type: array items: @@ -3230,14 +3394,15 @@ components: description: Original label of the classification item, which is useful for search and indexing purposes confidence: - type: number - nullable: true + type: + - number + - "null" description: Optional confidence score for the classification metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: Optional metadata associated with the classification source: $ref: "#/components/schemas/SavedFunctionId" @@ -3262,8 +3427,9 @@ components: $ref: "#/components/schemas/DatasetEvent" description: A list of fetched events cursor: - type: string - nullable: true + type: + - string + - "null" description: >- Pagination cursor @@ -3281,21 +3447,23 @@ components: description: The id of the dataset event to log feedback for. This is the row `id` returned by `POST /v1/dataset/{dataset_id}/insert` comment: - type: string - nullable: true + type: + - string + - "null" description: An optional comment string to log about the dataset event metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: A dictionary with additional data about the feedback. If you have a `user_id`, you can log it here and access it in the Braintrust UI. Note, this metadata does not correspond to the main event itself, but rather the audit log attached to the event. source: - type: string - nullable: true + type: + - string + - "null" enum: - app - api @@ -3304,8 +3472,9 @@ components: description: The source of the feedback. Must be one of "external" (default), "app", or "api" tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags to log @@ -3322,8 +3491,9 @@ components: required: - feedback DataSummary: - type: object - nullable: true + type: + - object + - "null" properties: total_records: type: integer @@ -3384,8 +3554,9 @@ components: type: object properties: xact_id: - type: string - nullable: true + type: + - string + - "null" description: Transaction id of the restore, or null if the restore made no changes rows_restored: type: integer @@ -3605,11 +3776,13 @@ components: type: object properties: id: - type: string - nullable: true + type: + - string + - "null" content: - type: string - nullable: true + type: + - string + - "null" description: "Note: This is not part of the OpenAI API spec, but we added it for interoperability with multiple reasoning models." ChatCompletionMessageParam: @@ -3668,8 +3841,9 @@ components: $ref: "#/components/schemas/ChatCompletionContentPartText" - type: "null" function_call: - type: object - nullable: true + type: + - object + - "null" properties: arguments: type: string @@ -3679,21 +3853,25 @@ components: - arguments - name name: - type: string - nullable: true + type: + - string + - "null" tool_calls: - type: array - nullable: true + type: + - array + - "null" items: $ref: "#/components/schemas/ChatCompletionMessageToolCall" reasoning: - type: array - nullable: true + type: + - array + - "null" items: $ref: "#/components/schemas/ChatCompletionMessageReasoning" reasoning_signature: - type: string - nullable: true + type: + - string + - "null" required: - role title: assistant @@ -3721,8 +3899,9 @@ components: - type: object properties: content: - type: string - nullable: true + type: + - string + - "null" name: type: string role: @@ -3761,8 +3940,9 @@ components: enum: - model content: - type: string - nullable: true + type: + - string + - "null" required: - role title: fallback @@ -3807,14 +3987,14 @@ components: schema: anyOf: - type: object - additionalProperties: - nullable: true + additionalProperties: {} title: object - type: string title: string strict: - type: boolean - nullable: true + type: + - boolean + - "null" required: - name ResponseFormatNullish: @@ -3942,16 +4122,14 @@ components: properties: enable_thinking: type: boolean - additionalProperties: - nullable: true + additionalProperties: {} verbosity: type: string enum: - low - medium - high - additionalProperties: - nullable: true + additionalProperties: {} title: OpenAIModelParams - type: object properties: @@ -3979,8 +4157,7 @@ components: required: - max_tokens - temperature - additionalProperties: - nullable: true + additionalProperties: {} title: AnthropicModelParams - type: object properties: @@ -3998,8 +4175,7 @@ components: type: number topK: type: number - additionalProperties: - nullable: true + additionalProperties: {} title: GoogleModelParams - type: object properties: @@ -4013,8 +4189,7 @@ components: type: number topK: type: number - additionalProperties: - nullable: true + additionalProperties: {} title: WindowAIModelParams - type: object properties: @@ -4024,12 +4199,12 @@ components: type: boolean reasoning_budget: type: number - additionalProperties: - nullable: true + additionalProperties: {} title: JsCompletionParams PromptOptionsNullish: - type: object - nullable: true + type: + - object + - "null" properties: model: type: string @@ -4038,11 +4213,13 @@ components: position: type: string endpoint_name: - type: string - nullable: true + type: + - string + - "null" PromptParserNullish: - type: object - nullable: true + type: + - object + - "null" properties: type: type: string @@ -4130,8 +4307,9 @@ components: preprocessing. If omitted, the traced project's default preprocessor will be used, falling back to the global 'thread' preprocessor." PromptDataNullish: - type: object - nullable: true + type: + - object + - "null" properties: prompt: $ref: "#/components/schemas/PromptBlockDataNullish" @@ -4142,8 +4320,9 @@ components: preprocessor: $ref: "#/components/schemas/PreprocessorId" tool_functions: - type: array - nullable: true + type: + - array + - "null" items: allOf: - $ref: "#/components/schemas/SavedFunctionId" @@ -4178,16 +4357,18 @@ components: - name title: global template_format: - type: string - nullable: true + type: + - string + - "null" enum: - mustache - nunjucks - none - null mcp: - type: object - nullable: true + type: + - object + - "null" additionalProperties: oneOf: - type: object @@ -4202,8 +4383,9 @@ components: is_disabled: type: boolean enabled_tools: - type: array - nullable: true + type: + - array + - "null" items: type: string description: If omitted, all tools are enabled @@ -4222,8 +4404,9 @@ components: is_disabled: type: boolean enabled_tools: - type: array - nullable: true + type: + - array + - "null" items: type: string description: If omitted, all tools are enabled @@ -4232,8 +4415,9 @@ components: - url title: MCP server url. This is used for inline definitions of MCP servers. origin: - type: object - nullable: true + type: + - object + - "null" properties: prompt_id: type: string @@ -4243,8 +4427,9 @@ components: type: string description: The prompt, model, and its parameters FunctionTypeEnumNullish: - type: string - nullable: true + type: + - string + - "null" enum: - llm - scorer @@ -4291,27 +4476,30 @@ components: type: string description: Unique identifier for the prompt description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the prompt created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of prompt creation prompt_data: $ref: "#/components/schemas/PromptDataNullish" tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags for the prompt metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: User-controlled metadata about the prompt function_type: $ref: "#/components/schemas/FunctionTypeEnumNullish" @@ -4339,22 +4527,25 @@ components: minLength: 1 description: Unique identifier for the prompt description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the prompt prompt_data: $ref: "#/components/schemas/PromptDataNullish" tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags for the prompt function_type: $ref: "#/components/schemas/FunctionTypeEnumNullish" environment_slugs: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of environment slugs to assign the prompt to. Each slug must @@ -4368,22 +4559,26 @@ components: type: object properties: name: - type: string - nullable: true + type: + - string + - "null" description: Name of the prompt slug: - type: string - nullable: true + type: + - string + - "null" description: Unique identifier for the prompt description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the prompt prompt_data: $ref: "#/components/schemas/PromptDataNullish" tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags for the prompt @@ -4413,8 +4608,9 @@ components: format: uuid description: Unique identifier for the role org_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: >- Unique id for the organization that the role belongs under @@ -4426,44 +4622,51 @@ components: It is forbidden to change the org after creating a role user_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifies the user who created the role created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of role creation name: type: string description: Name of the role description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the role deleted_at: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of role deletion, or null if the role is still active member_permissions: - type: array - nullable: true + type: + - array + - "null" items: type: object properties: permission: $ref: "#/components/schemas/Permission" restrict_object_type: - $ref: "#/components/schemas/AclObjectType" - nullable: true + anyOf: + - $ref: "#/components/schemas/AclObjectType" + - type: "null" required: - permission description: (permission, restrict_object_type) tuples which belong to this role member_roles: - type: array - nullable: true + type: + - array + - "null" items: type: string format: uuid @@ -4491,26 +4694,30 @@ components: minLength: 1 description: Name of the role description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the role member_permissions: - type: array - nullable: true + type: + - array + - "null" items: type: object properties: permission: $ref: "#/components/schemas/Permission" restrict_object_type: - $ref: "#/components/schemas/AclObjectType" - nullable: true + anyOf: + - $ref: "#/components/schemas/AclObjectType" + - type: "null" required: - permission description: (permission, restrict_object_type) tuples which belong to this role member_roles: - type: array - nullable: true + type: + - array + - "null" items: type: string format: uuid @@ -4521,8 +4728,9 @@ components: An inheriting role has all the permissions contained in its member roles, as well as all of their inherited permissions org_name: - type: string - nullable: true + type: + - string + - "null" description: For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization the role belongs in. @@ -4532,52 +4740,60 @@ components: type: object properties: description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the role name: - type: string - nullable: true + type: + - string + - "null" minLength: 1 description: Name of the role add_member_permissions: - type: array - nullable: true + type: + - array + - "null" items: type: object properties: permission: $ref: "#/components/schemas/Permission" restrict_object_type: - $ref: "#/components/schemas/AclObjectType" - nullable: true + anyOf: + - $ref: "#/components/schemas/AclObjectType" + - type: "null" required: - permission description: A list of permissions to add to the role remove_member_permissions: - type: array - nullable: true + type: + - array + - "null" items: type: object properties: permission: $ref: "#/components/schemas/Permission" restrict_object_type: - $ref: "#/components/schemas/AclObjectType" - nullable: true + anyOf: + - $ref: "#/components/schemas/AclObjectType" + - type: "null" required: - permission description: A list of permissions to remove from the role add_member_roles: - type: array - nullable: true + type: + - array + - "null" items: type: string format: uuid description: A list of role IDs to add to the role's inheriting-from set remove_member_roles: - type: array - nullable: true + type: + - array + - "null" items: type: string format: uuid @@ -4597,37 +4813,43 @@ components: It is forbidden to change the org after creating a group user_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifies the user who created the group created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of group creation name: type: string description: Name of the group description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the group deleted_at: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of group deletion, or null if the group is still active member_users: - type: array - nullable: true + type: + - array + - "null" items: type: string format: uuid description: Ids of users which belong to this group member_groups: - type: array - nullable: true + type: + - array + - "null" items: type: string format: uuid @@ -4655,19 +4877,22 @@ components: minLength: 1 description: Name of the group description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the group member_users: - type: array - nullable: true + type: + - array + - "null" items: type: string format: uuid description: Ids of users which belong to this group member_groups: - type: array - nullable: true + type: + - array + - "null" items: type: string format: uuid @@ -4678,8 +4903,9 @@ components: An inheriting group has all the users contained in its member groups, as well as all of their inherited users org_name: - type: string - nullable: true + type: + - string + - "null" description: For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization the group belongs in. @@ -4689,38 +4915,44 @@ components: type: object properties: description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the group name: - type: string - nullable: true + type: + - string + - "null" minLength: 1 description: Name of the group add_member_users: - type: array - nullable: true + type: + - array + - "null" items: type: string format: uuid description: A list of user IDs to add to the group remove_member_users: - type: array - nullable: true + type: + - array + - "null" items: type: string format: uuid description: A list of user IDs to remove from the group add_member_groups: - type: array - nullable: true + type: + - array + - "null" items: type: string format: uuid description: A list of group IDs to add to the group's inheriting-from set remove_member_groups: - type: array - nullable: true + type: + - array + - "null" items: type: string format: uuid @@ -4740,25 +4972,29 @@ components: It is forbidden to change the org after creating a project group user_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifies the user who created the project group created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of project group creation name: type: string description: Name of the project group description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the project group deleted_at: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of project group deletion, or null if the project group is still active @@ -4785,12 +5021,14 @@ components: minLength: 1 description: Name of the project group description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the project group org_name: - type: string - nullable: true + type: + - string + - "null" description: For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization the project group @@ -4801,25 +5039,29 @@ components: type: object properties: name: - type: string - nullable: true + type: + - string + - "null" minLength: 1 description: Name of the project group description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the project group add_member_projects: - type: array - nullable: true + type: + - array + - "null" items: type: string format: uuid maxItems: 1000 description: A list of project IDs to add to the project group remove_member_projects: - type: array - nullable: true + type: + - array + - "null" items: type: string format: uuid @@ -4839,31 +5081,36 @@ components: format: uuid description: The id of the object the ACL applies to user_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Id of the user the ACL applies to. Exactly one of `user_id` and `group_id` will be provided group_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Id of the group the ACL applies to. Exactly one of `user_id` and `group_id` will be provided permission: - $ref: "#/components/schemas/Permission" - nullable: true description: Permission the ACL grants. Exactly one of `permission` and `role_id` will be provided + anyOf: + - $ref: "#/components/schemas/Permission" + - type: "null" restrict_object_type: - $ref: "#/components/schemas/AclObjectType" - nullable: true description: When setting a permission directly, optionally restricts the permission grant to just the specified object type. Cannot be set alongside a `role_id`. + anyOf: + - $ref: "#/components/schemas/AclObjectType" + - type: "null" role_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Id of the role the ACL grants. Exactly one of `permission` and `role_id` will be provided @@ -4872,8 +5119,9 @@ components: format: uuid description: The organization the ACL's referred object belongs to created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of acl creation required: @@ -4905,31 +5153,36 @@ components: format: uuid description: The id of the object the ACL applies to user_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Id of the user the ACL applies to. Exactly one of `user_id` and `group_id` will be provided group_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Id of the group the ACL applies to. Exactly one of `user_id` and `group_id` will be provided permission: - $ref: "#/components/schemas/Permission" - nullable: true description: Permission the ACL grants. Exactly one of `permission` and `role_id` will be provided + anyOf: + - $ref: "#/components/schemas/Permission" + - type: "null" restrict_object_type: - $ref: "#/components/schemas/AclObjectType" - nullable: true description: When setting a permission directly, optionally restricts the permission grant to just the specified object type. Cannot be set alongside a `role_id`. + anyOf: + - $ref: "#/components/schemas/AclObjectType" + - type: "null" role_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Id of the role the ACL grants. Exactly one of `permission` and `role_id` will be provided @@ -4968,13 +5221,15 @@ components: type: object properties: add_acls: - type: array - nullable: true + type: + - array + - "null" items: $ref: "#/components/schemas/AclItem" remove_acls: - type: array - nullable: true + type: + - array + - "null" items: $ref: "#/components/schemas/AclItem" User: @@ -4985,24 +5240,29 @@ components: format: uuid description: Unique identifier for the user given_name: - type: string - nullable: true + type: + - string + - "null" description: Given name of the user family_name: - type: string - nullable: true + type: + - string + - "null" description: Family name of the user email: - type: string - nullable: true + type: + - string + - "null" description: The user's email avatar_url: - type: string - nullable: true + type: + - string + - "null" description: URL of the user's Avatar image created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of user creation required: @@ -5022,8 +5282,9 @@ components: type: string format: uuid created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of agent creation name: @@ -5037,14 +5298,15 @@ components: description: "Agent classification: 'custom' for customer-defined agents, 'loop' for built-in Loop agents." description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the agent metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: User-controlled metadata about the agent required: - id @@ -5066,14 +5328,15 @@ components: type: string description: Name of the agent. Within a project, agent names are unique description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the agent metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: User-controlled metadata about the agent required: - project_id @@ -5084,18 +5347,20 @@ components: type: object properties: name: - type: string - nullable: true + type: + - string + - "null" description: Name of the agent. Within a project, agent names are unique description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the agent metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: User-controlled metadata about the agent description: An agent is a project-scoped durable object that identifies an AI agent or service emitting spans @@ -5179,8 +5444,9 @@ components: - windowed description: The type of automation. product_origin: - type: string - nullable: true + type: + - string + - "null" enum: - patterns - dashboard @@ -5265,8 +5531,9 @@ components: - alert description: How the lifecycle changes when the calculation returns no data renotify_interval_seconds: - type: integer - nullable: true + type: + - integer + - "null" minimum: 1 maximum: 2592000 description: Optional reminder interval while the automation is firing @@ -5320,8 +5587,9 @@ components: description: A standard five-field cron expression (minute hour day-of-month month day-of-week) controlling when the automation runs timezone: - type: string - nullable: true + type: + - string + - "null" minLength: 1 description: IANA timezone used to interpret the cron expression (defaults to UTC) @@ -5494,8 +5762,9 @@ components: - event_type - window TopicAutomationFacetModel: - type: string - nullable: true + type: + - string + - "null" enum: - brain-facet-latest - brain-facet-1 @@ -5540,8 +5809,9 @@ components: title: global description: Topic map function btql_filter: - type: string - nullable: true + type: + - string + - "null" description: Per-topic-map BTQL filter. For trace scope, a topic map runs when max(filter) over the trace is truthy. For span scope, it runs when the current span matches. @@ -5646,17 +5916,20 @@ components: data_scope: $ref: "#/components/schemas/TopicAutomationDataScope" btql_filter: - type: string - nullable: true + type: + - string + - "null" description: Optional BTQL filter applied before topic automation. rerun_seconds: - type: number - nullable: true + type: + - number + - "null" minimum: 600 description: How often to recompute topic maps relabel_overlap_seconds: - type: number - nullable: true + type: + - number + - "null" minimum: 60 description: Deprecated. How much recent history to relabel after a new topic map version becomes active. Data planes v2.15.0 and later ignore @@ -5752,21 +6025,24 @@ components: description: Unique identifier for the project that the project automation belongs under user_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifies the user who created the project automation created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of project automation creation name: type: string description: Name of the project automation description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the project automation config: oneOf: @@ -5970,8 +6246,9 @@ components: - type - service_account_email batch_size: - type: number - nullable: true + type: + - number + - "null" description: The number of rows to export in each batch required: - event_type @@ -6013,10 +6290,10 @@ components: - jsonl description: The materialized result format batch_size: - type: integer - nullable: true - minimum: 0 - exclusiveMinimum: true + type: + - integer + - "null" + exclusiveMinimum: 0 maximum: 100000 description: The maximum number of result rows to write per async query batch required: @@ -6164,8 +6441,9 @@ components: type: string description: Name of the project automation description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the project automation config: oneOf: @@ -6369,8 +6647,9 @@ components: - type - service_account_email batch_size: - type: number - nullable: true + type: + - number + - "null" description: The number of rows to export in each batch required: - event_type @@ -6412,10 +6691,10 @@ components: - jsonl description: The materialized result format batch_size: - type: integer - nullable: true - minimum: 0 - exclusiveMinimum: true + type: + - integer + - "null" + exclusiveMinimum: 0 maximum: 100000 description: The maximum number of result rows to write per async query batch required: @@ -6544,12 +6823,14 @@ components: type: object properties: name: - type: string - nullable: true + type: + - string + - "null" description: Name of the project automation description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the project automation config: oneOf: @@ -6753,8 +7034,9 @@ components: - type - service_account_email batch_size: - type: number - nullable: true + type: + - number + - "null" description: The number of rows to export in each batch required: - event_type @@ -6796,10 +7078,10 @@ components: - jsonl description: The materialized result format batch_size: - type: integer - nullable: true - minimum: 0 - exclusiveMinimum: true + type: + - integer + - "null" + exclusiveMinimum: 0 maximum: 100000 description: The maximum number of result rows to write per async query batch required: @@ -6919,7 +7201,7 @@ components: - $ref: "#/components/schemas/WindowedAutomationConfig" - $ref: "#/components/schemas/TopicAutomationConfig" - $ref: "#/components/schemas/TopicDigestAutomationConfig" - - nullable: true + - type: "null" description: The configuration for the automation rule OrgAutomation: type: object @@ -6934,21 +7216,24 @@ components: description: Unique identifier for the organization that the org automation belongs under user_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifies the user who created the project automation created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of project automation creation name: type: string description: Name of the project automation description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the project automation config: type: object @@ -6986,8 +7271,9 @@ components: type: string description: Name of the project automation description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the project automation config: type: object @@ -7016,16 +7302,19 @@ components: type: object properties: name: - type: string - nullable: true + type: + - string + - "null" description: Name of the project automation description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the project automation config: - type: object - nullable: true + type: + - object + - "null" properties: event_type: type: string @@ -7075,8 +7364,9 @@ components: title: minimum - type: "null" OnlineScoreConfig: - type: object - nullable: true + type: + - object + - "null" properties: status: $ref: "#/components/schemas/AutomationStatus" @@ -7123,24 +7413,28 @@ components: description: The list of functions to run for online scoring. Can include scorers, facets, or other function types. btql_filter: - type: string - nullable: true + type: + - string + - "null" description: Filter logs using BTQL apply_to_root_span: - type: boolean - nullable: true + type: + - boolean + - "null" description: Whether to trigger online scoring on the root span of each trace. Only applies when scope is 'span' or unset. apply_to_span_names: - type: array - nullable: true + type: + - array + - "null" items: type: string description: Trigger online scoring on any spans with a name in this list. Only applies when scope is 'span' or unset. skip_logging: - type: boolean - nullable: true + type: + - boolean + - "null" description: Whether to skip adding scorer spans when computing scores scope: anyOf: @@ -7154,25 +7448,29 @@ components: - sampling_rate - scorers ProjectScoreCondition: - type: object - nullable: true + type: + - object + - "null" properties: when: type: object properties: clauses: - type: array - nullable: true + type: + - array + - "null" items: type: string subspan_clauses: - type: array - nullable: true + type: + - array + - "null" items: type: string trace_clauses: - type: array - nullable: true + type: + - array + - "null" items: type: string behavior: @@ -7183,27 +7481,33 @@ components: required: - when ProjectScoreConfig: - type: object - nullable: true + type: + - object + - "null" properties: multi_select: - type: boolean - nullable: true + type: + - boolean + - "null" destination: - type: string - nullable: true + type: + - string + - "null" visibility: - type: object - nullable: true + type: + - object + - "null" properties: users: - type: array - nullable: true + type: + - array + - "null" items: type: string groups: - type: array - nullable: true + type: + - array + - "null" items: type: string online: @@ -7211,8 +7515,9 @@ components: condition: $ref: "#/components/schemas/ProjectScoreCondition" object_types: - type: array - nullable: true + type: + - array + - "null" items: type: string enum: @@ -7235,16 +7540,18 @@ components: type: string format: uuid created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of project score creation name: type: string description: Name of the project score description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the project score score_type: $ref: "#/components/schemas/ProjectScoreType" @@ -7253,8 +7560,9 @@ components: config: $ref: "#/components/schemas/ProjectScoreConfig" position: - type: string - nullable: true + type: + - string + - "null" description: An optional LexoRank-based string that sets the sort position for the score in the UI required: @@ -7277,8 +7585,9 @@ components: type: string description: Name of the project score description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the project score score_type: $ref: "#/components/schemas/ProjectScoreType" @@ -7296,16 +7605,19 @@ components: type: object properties: name: - type: string - nullable: true + type: + - string + - "null" description: Name of the project score description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the project score score_type: - $ref: "#/components/schemas/ProjectScoreType" - nullable: true + anyOf: + - $ref: "#/components/schemas/ProjectScoreType" + - type: "null" categories: $ref: "#/components/schemas/ProjectScoreCategories" config: @@ -7327,24 +7639,28 @@ components: type: string format: uuid created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of project tag creation name: type: string description: Name of the project tag description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the project tag color: - type: string - nullable: true + type: + - string + - "null" description: Color of the tag for the UI position: - type: string - nullable: true + type: + - string + - "null" description: An optional LexoRank-based string that sets the sort position for the tag in the UI required: @@ -7365,12 +7681,14 @@ components: type: string description: Name of the project tag description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the project tag color: - type: string - nullable: true + type: + - string + - "null" description: Color of the tag for the UI required: - project_id @@ -7379,16 +7697,19 @@ components: type: object properties: name: - type: string - nullable: true + type: + - string + - "null" description: Name of the project tag description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the project tag color: - type: string - nullable: true + type: + - string + - "null" description: Color of the tag for the UI SpanIFrame: type: object @@ -7402,18 +7723,21 @@ components: format: uuid description: Unique identifier for the project that the span iframe belongs under user_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifies the user who created the span iframe created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of span iframe creation deleted_at: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of span iframe deletion, or null if the span iframe is still active @@ -7421,15 +7745,17 @@ components: type: string description: Name of the span iframe description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the span iframe url: type: string description: URL to embed the project viewer in an iframe post_message: - type: boolean - nullable: true + type: + - boolean + - "null" description: Whether to post messages to the iframe containing the span's data. This is useful when you want to render more data than fits in the URL. @@ -7449,15 +7775,17 @@ components: type: string description: Name of the span iframe description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the span iframe url: type: string description: URL to embed the project viewer in an iframe post_message: - type: boolean - nullable: true + type: + - boolean + - "null" description: Whether to post messages to the iframe containing the span's data. This is useful when you want to render more data than fits in the URL. @@ -7469,22 +7797,26 @@ components: type: object properties: name: - type: string - nullable: true + type: + - string + - "null" description: Name of the span iframe url: - type: string - nullable: true + type: + - string + - "null" description: URL to embed the project viewer in an iframe post_message: - type: boolean - nullable: true + type: + - boolean + - "null" description: Whether to post messages to the iframe containing the span's data. This is useful when you want to render more data than fits in the URL. description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the span iframe CodeBundle: type: object @@ -7605,22 +7937,22 @@ components: type: string parameters: type: object - additionalProperties: - nullable: true + additionalProperties: {} description: Parameter values for sandbox eval execution evaluator_definition: - nullable: true description: Definition of current evaluator with parameters required: - type - sandbox_spec - eval_name bundle_id: - type: string - nullable: true + type: + - string + - "null" preview: - type: string - nullable: true + type: + - string + - "null" description: A preview of the code required: - runtime_context @@ -7628,8 +7960,7 @@ components: FunctionIdRef: type: object properties: {} - additionalProperties: - nullable: true + additionalProperties: {} description: Options for identifying a function PromptBlockData: anyOf: @@ -7666,12 +7997,14 @@ components: - type: object properties: description: - type: string - nullable: true + type: + - string + - "null" description: The description of the node position: - type: object - nullable: true + type: + - object + - "null" properties: x: type: number @@ -7695,12 +8028,14 @@ components: - type: object properties: description: - type: string - nullable: true + type: + - string + - "null" description: The description of the node position: - type: object - nullable: true + type: + - object + - "null" properties: x: type: number @@ -7722,12 +8057,14 @@ components: - type: object properties: description: - type: string - nullable: true + type: + - string + - "null" description: The description of the node position: - type: object - nullable: true + type: + - object + - "null" properties: x: type: number @@ -7749,12 +8086,14 @@ components: - type: object properties: description: - type: string - nullable: true + type: + - string + - "null" description: The description of the node position: - type: object - nullable: true + type: + - object + - "null" properties: x: type: number @@ -7771,19 +8110,20 @@ components: enum: - literal value: - nullable: true description: A literal value to be returned required: - type - type: object properties: description: - type: string - nullable: true + type: + - string + - "null" description: The description of the node position: - type: object - nullable: true + type: + - object + - "null" properties: x: type: number @@ -7808,12 +8148,14 @@ components: - type: object properties: description: - type: string - nullable: true + type: + - string + - "null" description: The description of the node position: - type: object - nullable: true + type: + - object + - "null" properties: x: type: number @@ -7830,20 +8172,23 @@ components: enum: - gate condition: - type: string - nullable: true + type: + - string + - "null" description: A BTQL expression to be evaluated required: - type - type: object properties: description: - type: string - nullable: true + type: + - string + - "null" description: The description of the node position: - type: object - nullable: true + type: + - object + - "null" properties: x: type: number @@ -7864,12 +8209,14 @@ components: - type: object properties: description: - type: string - nullable: true + type: + - string + - "null" description: The description of the node position: - type: object - nullable: true + type: + - object + - "null" properties: x: type: number @@ -8043,24 +8390,19 @@ components: - none sample_size: type: integer - minimum: 0 - exclusiveMinimum: true + exclusiveMinimum: 0 n_clusters: type: integer - minimum: 0 - exclusiveMinimum: true + exclusiveMinimum: 0 min_cluster_size: type: integer - minimum: 0 - exclusiveMinimum: true + exclusiveMinimum: 0 min_samples: type: integer - minimum: 0 - exclusiveMinimum: true + exclusiveMinimum: 0 hierarchy_threshold: type: integer - minimum: 0 - exclusiveMinimum: true + exclusiveMinimum: 0 naming_model: type: string required: @@ -8292,11 +8634,11 @@ components: type: string parameters: type: object - additionalProperties: - nullable: true + additionalProperties: {} parameters_version: - type: string - nullable: true + type: + - string + - "null" description: The version (transaction ID) of the parameters being used required: - type @@ -8316,10 +8658,10 @@ components: function_type: $ref: "#/components/schemas/FunctionTypeEnum" config: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: Configuration options to pass to the global function (e.g., for preprocessor customization) required: @@ -8336,8 +8678,7 @@ components: - parameters data: type: object - additionalProperties: - nullable: true + additionalProperties: {} description: The parameters data __schema: type: object @@ -8350,8 +8691,7 @@ components: type: object additionalProperties: type: object - additionalProperties: - nullable: true + additionalProperties: {} required: type: array items: @@ -8564,35 +8904,39 @@ components: type: string description: Unique identifier for the prompt description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the prompt created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of prompt creation prompt_data: $ref: "#/components/schemas/PromptDataNullish" tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags for the prompt metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: User-controlled metadata about the prompt function_type: $ref: "#/components/schemas/FunctionTypeEnumNullish" function_data: $ref: "#/components/schemas/FunctionData" origin: - type: object - nullable: true + type: + - object + - "null" properties: object_type: $ref: "#/components/schemas/AclObjectType" @@ -8601,21 +8945,21 @@ components: format: uuid description: Id of the object the function is originating from internal: - type: boolean - nullable: true + type: + - boolean + - "null" description: The function exists for internal purposes and should not be displayed in the list of functions. required: - object_type - object_id function_schema: - type: object - nullable: true + type: + - object + - "null" properties: - parameters: - nullable: true - returns: - nullable: true + parameters: {} + returns: {} description: JSON schema for the function's parameters and return type required: - id @@ -8642,14 +8986,16 @@ components: minLength: 1 description: Unique identifier for the prompt description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the prompt prompt_data: $ref: "#/components/schemas/PromptDataNullish" tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags for the prompt @@ -8658,8 +9004,9 @@ components: function_data: $ref: "#/components/schemas/FunctionData" origin: - type: object - nullable: true + type: + - object + - "null" properties: object_type: $ref: "#/components/schemas/AclObjectType" @@ -8668,21 +9015,21 @@ components: format: uuid description: Id of the object the function is originating from internal: - type: boolean - nullable: true + type: + - boolean + - "null" description: The function exists for internal purposes and should not be displayed in the list of functions. required: - object_type - object_id function_schema: - type: object - nullable: true + type: + - object + - "null" properties: - parameters: - nullable: true - returns: - nullable: true + parameters: {} + returns: {} description: JSON schema for the function's parameters and return type required: - project_id @@ -8767,11 +9114,11 @@ components: type: string parameters: type: object - additionalProperties: - nullable: true + additionalProperties: {} parameters_version: - type: string - nullable: true + type: + - string + - "null" description: The version (transaction ID) of the parameters being used required: - type @@ -8791,10 +9138,10 @@ components: function_type: $ref: "#/components/schemas/FunctionTypeEnum" config: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: Configuration options to pass to the global function (e.g., for preprocessor customization) required: @@ -8811,8 +9158,7 @@ components: - parameters data: type: object - additionalProperties: - nullable: true + additionalProperties: {} description: The parameters data __schema: type: object @@ -8825,8 +9171,7 @@ components: type: object additionalProperties: type: object - additionalProperties: - nullable: true + additionalProperties: {} required: type: array items: @@ -9011,20 +9356,23 @@ components: type: object properties: name: - type: string - nullable: true + type: + - string + - "null" description: Name of the prompt description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the prompt prompt_data: $ref: "#/components/schemas/PromptDataNullish" function_data: $ref: "#/components/schemas/FunctionDataNullish" tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: A list of tags for the prompt @@ -9042,8 +9390,9 @@ components: type: string description: The id of the container object you are logging to row_ids: - type: object - nullable: true + type: + - object + - "null" properties: id: type: string @@ -9060,10 +9409,10 @@ components: - root_span_id description: Identifiers for the row to to log a subspan under propagated_event: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: Include these properties in every span created under this parent required: - object_type @@ -9075,8 +9424,9 @@ components: span description: Options for tracing the function call StreamingMode: - type: string - nullable: true + type: + - string + - "null" enum: - auto - parallel @@ -9090,21 +9440,20 @@ components: request_source: type: string input: - nullable: true description: Argument to the function, which can be any JSON serializable value expected: - nullable: true description: The expected output of the function metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: Any relevant metadata. This will be logged and available as the `metadata` argument. tags: - type: array - nullable: true + type: + - array + - "null" items: type: string description: Any relevant tags to log on the span. @@ -9116,15 +9465,17 @@ components: parent: $ref: "#/components/schemas/InvokeParent" stream: - type: boolean - nullable: true + type: + - boolean + - "null" description: Whether to stream the response. If true, results will be returned in the Braintrust SSE format. mode: $ref: "#/components/schemas/StreamingMode" strict: - type: boolean - nullable: true + type: + - boolean + - "null" description: If true, throw an error if one of the variables in the prompt is not present in the input mcp_auth: @@ -9137,54 +9488,56 @@ components: description: The OAuth token to use description: Map of MCP server URL to auth credentials overrides: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: "Partial function definition to merge with the function being invoked. Fields are validated against the function type's schema at runtime. For facets: { preprocessor?, prompt?, model? }. For prompts: { model?, ... }." endpoint_name: - type: string - nullable: true + type: + - string + - "null" description: Name of the AI provider secret to pin this invocation to. version: type: string description: The version of the function description: The request to invoke a function ViewDataSearch: - type: object - nullable: true + type: + - object + - "null" properties: filter: - type: array - nullable: true - items: - nullable: true + type: + - array + - "null" + items: {} tag: - type: array - nullable: true - items: - nullable: true + type: + - array + - "null" + items: {} match: - type: array - nullable: true - items: - nullable: true + type: + - array + - "null" + items: {} sort: - type: array - nullable: true - items: - nullable: true + type: + - array + - "null" + items: {} ViewData: - type: object - nullable: true + type: + - object + - "null" properties: search: $ref: "#/components/schemas/ViewDataSearch" - custom_charts: - nullable: true + custom_charts: {} description: The view definition ViewOptions: anyOf: @@ -9203,45 +9556,55 @@ components: - span - trace spanType: - type: string - nullable: true + type: + - string + - "null" enum: - range - frame - null rangeValue: - type: string - nullable: true + type: + - string + - "null" frameStart: - type: string - nullable: true + type: + - string + - "null" frameEnd: - type: string - nullable: true + type: + - string + - "null" tzUTC: - type: boolean - nullable: true + type: + - boolean + - "null" chartVisibility: - type: object - nullable: true + type: + - object + - "null" additionalProperties: type: boolean projectId: - type: string - nullable: true + type: + - string + - "null" type: - type: string - nullable: true + type: + - string + - "null" enum: - project - experiment - null groupBy: - type: string - nullable: true + type: + - string + - "null" freezeColumns: - type: boolean - nullable: true + type: + - boolean + - "null" required: - viewType - options @@ -9249,41 +9612,51 @@ components: - type: object properties: columnVisibility: - type: object - nullable: true + type: + - object + - "null" additionalProperties: type: boolean columnOrder: - type: array - nullable: true + type: + - array + - "null" items: type: string columnSizing: - type: object - nullable: true + type: + - object + - "null" additionalProperties: type: number grouping: - type: string - nullable: true + type: + - string + - "null" rowHeight: - type: string - nullable: true + type: + - string + - "null" tallGroupRows: - type: boolean - nullable: true + type: + - boolean + - "null" layout: - type: string - nullable: true + type: + - string + - "null" topicMapReportKey: - type: string - nullable: true + type: + - string + - "null" chartHeight: - type: number - nullable: true + type: + - number + - "null" excludedMeasures: - type: array - nullable: true + type: + - array + - "null" items: type: object properties: @@ -9300,8 +9673,9 @@ components: - type - value yMetric: - type: object - nullable: true + type: + - object + - "null" properties: type: type: string @@ -9316,8 +9690,9 @@ components: - type - value xAxis: - type: object - nullable: true + type: + - object + - "null" properties: type: type: string @@ -9332,8 +9707,9 @@ components: - type - value symbolGrouping: - type: object - nullable: true + type: + - object + - "null" properties: type: type: string @@ -9348,8 +9724,9 @@ components: - type - value pointSizeMetric: - type: object - nullable: true + type: + - object + - "null" properties: type: type: string @@ -9364,12 +9741,14 @@ components: - type - value xAxisAggregation: - type: string - nullable: true + type: + - string + - "null" description: One of 'avg', 'sum', 'min', 'max', 'median', 'all' chartAnnotations: - type: array - nullable: true + type: + - array + - "null" items: type: object properties: @@ -9394,8 +9773,9 @@ components: - to - type: "null" queryShape: - type: string - nullable: true + type: + - string + - "null" enum: - traces - spans @@ -9403,11 +9783,13 @@ components: - topics - null cluster: - type: string - nullable: true + type: + - string + - "null" freezeColumns: - type: boolean - nullable: true + type: + - boolean + - "null" title: TableViewOptions - type: "null" description: Options for the view in the app @@ -9445,26 +9827,28 @@ components: - for_review_project_log - for_review_experiments - for_review_datasets - - null description: Type of object that the view corresponds to. name: type: string description: Name of the view description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the view starred: type: boolean description: Whether the view is starred in its project created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of view creation updated_at: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of last view update view_data: @@ -9472,13 +9856,15 @@ components: options: $ref: "#/components/schemas/ViewOptions" user_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifies the user who created the view deleted_at: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of role deletion, or null if the role is still active required: @@ -9517,27 +9903,29 @@ components: - for_review_project_log - for_review_experiments - for_review_datasets - - null description: Type of object that the view corresponds to. name: type: string description: Name of the view description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the view view_data: $ref: "#/components/schemas/ViewData" options: $ref: "#/components/schemas/ViewOptions" user_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifies the user who created the view deleted_at: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of role deletion, or null if the role is still active required: @@ -9555,8 +9943,9 @@ components: format: uuid description: The id of the object the view applies to view_type: - type: string - nullable: true + type: + - string + - "null" enum: - projects - experiments @@ -9579,12 +9968,14 @@ components: - null description: Type of object that the view corresponds to. name: - type: string - nullable: true + type: + - string + - "null" description: Name of the view description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the view starred: type: boolean @@ -9594,8 +9985,9 @@ components: options: $ref: "#/components/schemas/ViewOptions" user_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifies the user who created the view required: @@ -9614,8 +10006,9 @@ components: - object_type - object_id ImageRenderingMode: - type: string - nullable: true + type: + - string + - "null" enum: - auto - click_to_load @@ -9635,32 +10028,40 @@ components: type: string description: Name of the organization api_url: - type: string - nullable: true + type: + - string + - "null" is_universal_api: - type: boolean - nullable: true + type: + - boolean + - "null" is_dataplane_private: - type: boolean - nullable: true + type: + - boolean + - "null" proxy_url: - type: string - nullable: true + type: + - string + - "null" realtime_url: - type: string - nullable: true + type: + - string + - "null" created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of organization creation archived_at: - type: string - nullable: true + type: + - string + - "null" format: date-time deleted_at: - type: string - nullable: true + type: + - string + - "null" format: date-time image_rendering_mode: $ref: "#/components/schemas/ImageRenderingMode" @@ -9671,24 +10072,30 @@ components: type: object properties: name: - type: string - nullable: true + type: + - string + - "null" description: Name of the organization api_url: - type: string - nullable: true + type: + - string + - "null" is_universal_api: - type: boolean - nullable: true + type: + - boolean + - "null" is_dataplane_private: - type: boolean - nullable: true + type: + - boolean + - "null" proxy_url: - type: string - nullable: true + type: + - string + - "null" realtime_url: - type: string - nullable: true + type: + - string + - "null" image_rendering_mode: $ref: "#/components/schemas/ImageRenderingMode" PatchOrganizationMembersOutput: @@ -9702,14 +10109,16 @@ components: type: string description: The id of the org that was modified. send_email_error: - type: string - nullable: true + type: + - string + - "null" description: If invite emails failed to send for some reason, the patch operation will still complete, but we will return an error message here added_users: - type: array - nullable: true + type: + - array + - "null" items: type: object properties: @@ -9717,14 +10126,17 @@ components: type: string format: uuid email: - type: string - nullable: true + type: + - string + - "null" api_key: - type: string - nullable: true + type: + - string + - "null" token_name: - type: string - nullable: true + type: + - string + - "null" required: - id description: The users who were added by this request. api_key and token_name @@ -9737,44 +10149,49 @@ components: type: object properties: invite_users: - type: object - nullable: true + type: + - object + - "null" properties: ids: - type: array - nullable: true + type: + - array + - "null" items: type: string format: uuid description: Unique identifier for the user description: Ids of existing users to invite emails: - type: array - nullable: true + type: + - array + - "null" items: type: string description: Emails of users to invite service_accounts: - type: array - nullable: true + type: + - array + - "null" items: type: object properties: name: type: string token_name: - type: string - nullable: true + type: + - string + - "null" description: Optional name of an initial service token to create for the new service account. When set, authenticate with a UI session or service token, not a user API key. The caller must own the organization or the project group specified by invite_users.project_group_id. token_expires_in_seconds: - type: integer - nullable: true - minimum: 0 - exclusiveMinimum: true + type: + - integer + - "null" + exclusiveMinimum: 0 description: Number of seconds from now after which the initial service token should expire. If omitted, the token never expires. required: @@ -9783,69 +10200,80 @@ components: compatibility layer that accepts both plain service-account creation and the narrower token_name create-and-mint carve-out. send_invite_emails: - type: boolean - nullable: true + type: + - boolean + - "null" description: If true, send invite emails to the users who wore actually added group_ids: - type: array - nullable: true + type: + - array + - "null" items: type: string format: uuid description: Unique identifier for the group description: Optional list of group ids to add newly-invited users to. group_names: - type: array - nullable: true + type: + - array + - "null" items: type: string description: Name of the group description: Optional list of group names to add newly-invited users to. group_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Singular form of group_ids group_name: - type: string - nullable: true + type: + - string + - "null" description: Singular form of group_names project_group_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Grants new service accounts read access to this project group. Required when a project-group Owner creates service accounts. description: Users to invite to the organization remove_users: - type: object - nullable: true + type: + - object + - "null" properties: ids: - type: array - nullable: true + type: + - array + - "null" items: type: string format: uuid description: Unique identifier for the user description: Ids of users to remove emails: - type: array - nullable: true + type: + - array + - "null" items: type: string description: Emails of users to remove description: Users to remove from the organization org_name: - type: string - nullable: true + type: + - string + - "null" description: For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, or in case you want to explicitly assert the organization you are modifying, you may specify the name of the organization. org_id: - type: string - nullable: true + type: + - string + - "null" description: For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, or in case you want to explicitly assert the organization you are @@ -9858,8 +10286,9 @@ components: format: uuid description: Unique identifier for the api key created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of api key creation name: @@ -9868,30 +10297,36 @@ components: preview_name: type: string user_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Unique identifier for the user user_email: - type: string - nullable: true + type: + - string + - "null" description: The user's email user_given_name: - type: string - nullable: true + type: + - string + - "null" description: Given name of the user user_family_name: - type: string - nullable: true + type: + - string + - "null" description: Family name of the user org_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Unique identifier for the organization expires_at: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date at which the API key expires. If null, the key never expires. required: @@ -9906,8 +10341,9 @@ components: format: uuid description: Unique identifier for the service token created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of service token creation name: @@ -9916,26 +10352,31 @@ components: preview_name: type: string service_account_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Unique identifier for the service token service_account_email: - type: string - nullable: true + type: + - string + - "null" description: The service account email (not routable) service_account_name: - type: string - nullable: true + type: + - string + - "null" description: The service account name org_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Unique identifier for the organization expires_at: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date and time at which the service token expires. If null, the token never expires. @@ -9955,8 +10396,9 @@ components: format: uuid description: Unique identifier for the service token created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of service token creation name: @@ -9965,26 +10407,31 @@ components: preview_name: type: string service_account_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Unique identifier for the service token service_account_email: - type: string - nullable: true + type: + - string + - "null" description: The service account email (not routable) service_account_name: - type: string - nullable: true + type: + - string + - "null" description: The service account name org_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Unique identifier for the organization expires_at: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date and time at which the service token expires. If null, the token never expires. @@ -10009,18 +10456,21 @@ components: format: uuid description: Unique identifier for the AI secret created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of AI secret creation updated_at: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of last AI secret update secret_updated_at: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of last update to the encrypted secret value itself org_id: @@ -10031,21 +10481,24 @@ components: type: string description: Name of the AI secret type: - type: string - nullable: true + type: + - string + - "null" metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} secret_updated_by_user_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: User id of the last update to the encrypted secret value preview_secret: - type: string - nullable: true + type: + - string + - "null" required: - id - org_id @@ -10057,21 +10510,24 @@ components: type: string description: Name of the AI secret type: - type: string - nullable: true + type: + - string + - "null" metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} secret: - type: string - nullable: true + type: + - string + - "null" description: Secret value. If omitted in a PUT request, the existing secret value will be left intact, not replaced with null. org_name: - type: string - nullable: true + type: + - string + - "null" description: For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization the AI Secret belongs @@ -10085,8 +10541,9 @@ components: type: string description: Name of the AI secret org_name: - type: string - nullable: true + type: + - string + - "null" description: For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization the AI Secret belongs @@ -10097,20 +10554,23 @@ components: type: object properties: name: - type: string - nullable: true + type: + - string + - "null" description: Name of the AI secret type: - type: string - nullable: true + type: + - string + - "null" metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} secret: - type: string - nullable: true + type: + - string + - "null" EnvVar: type: object properties: @@ -10134,39 +10594,45 @@ components: type: string description: The name of the environment variable created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of environment variable creation secret_updated_at: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of last update to the encrypted secret value itself secret_updated_by_user_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: User id of the last update to the encrypted secret value used: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date the environment variable was last used metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: Optional metadata associated with the environment variable when managed via the function secrets API preview_secret: - type: string - nullable: true + type: + - string + - "null" description: Redacted preview of the stored secret value secret_type: - type: string - nullable: true + type: + - string + - "null" description: Optional classification for the secret (for example, the AI provider name) secret_category: @@ -10196,18 +10662,21 @@ components: format: uuid description: Unique identifier for the project that the MCP server belongs under user_id: - type: string - nullable: true + type: + - string + - "null" format: uuid description: Identifies the user who created the MCP server created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of MCP server creation deleted_at: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of MCP server deletion, or null if the MCP server is still active @@ -10215,8 +10684,9 @@ components: type: string description: Name of the MCP server. Within a project, MCP server names are unique description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the MCP server url: type: string @@ -10237,8 +10707,9 @@ components: type: string description: Name of the MCP server. Within a project, MCP server names are unique description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the MCP server url: type: string @@ -10251,16 +10722,19 @@ components: type: object properties: name: - type: string - nullable: true + type: + - string + - "null" description: Name of the MCP server. Within a project, MCP server names are unique url: - type: string - nullable: true + type: + - string + - "null" description: URL of the MCP server endpoint description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the MCP server DatasetSnapshot: type: object @@ -10277,14 +10751,16 @@ components: type: string description: Name of the dataset snapshot description: - type: string - nullable: true + type: + - string + - "null" xact_id: type: string description: Transaction id of the brainstore version at the time of the snapshot created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of dataset snapshot creation required: @@ -10306,8 +10782,9 @@ components: minLength: 1 description: Name of the dataset snapshot description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the dataset snapshot xact_id: type: string @@ -10321,12 +10798,14 @@ components: type: object properties: name: - type: string - nullable: true + type: + - string + - "null" description: Name of the dataset snapshot description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the dataset snapshot SimulatedUserVoiceConfig: type: object @@ -10342,8 +10821,7 @@ components: minLength: 1 speaking_rate: type: number - minimum: 0 - exclusiveMinimum: true + exclusiveMinimum: 0 required: - voice_id additionalProperties: false @@ -10371,8 +10849,9 @@ components: minLength: 1 description: Name of the simulated user created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of simulated user creation instructions: @@ -10394,8 +10873,9 @@ components: - instructions - voice_config AppLimit: - type: integer - nullable: true + type: + - integer + - "null" minimum: 0 maximum: 1000 default: 100 @@ -10435,8 +10915,9 @@ components: minLength: 1 description: The simulated user's role, scenario, and behavior goal: - type: string - nullable: true + type: + - string + - "null" minLength: 1 description: The simulated user's objective. Set to null to clear it. voice_config: @@ -10462,17 +10943,20 @@ components: description: A url-friendly, unique identifier for the environment within an organization description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the environment created: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of environment creation deleted_at: - type: string - nullable: true + type: + - string + - "null" format: date-time description: Date of environment deletion, or null if the environment is still active @@ -10492,12 +10976,14 @@ components: description: A url-friendly, unique identifier for the environment within an organization description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the environment org_name: - type: string - nullable: true + type: + - string + - "null" description: For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization the environment belongs @@ -10509,36 +10995,42 @@ components: type: object properties: name: - type: string - nullable: true + type: + - string + - "null" description: Name of the environment slug: - type: string - nullable: true + type: + - string + - "null" description: A url-friendly, unique identifier for the environment within an organization description: - type: string - nullable: true + type: + - string + - "null" description: Textual description of the environment CrossObjectInsertResponse: type: object properties: experiment: - type: object - nullable: true + type: + - object + - "null" additionalProperties: $ref: "#/components/schemas/InsertEventsResponse" description: A mapping from experiment id to row ids for inserted `events` dataset: - type: object - nullable: true + type: + - object + - "null" additionalProperties: $ref: "#/components/schemas/InsertEventsResponse" description: A mapping from dataset id to row ids for inserted `events` project_logs: - type: object - nullable: true + type: + - object + - "null" additionalProperties: $ref: "#/components/schemas/InsertEventsResponse" description: A mapping from project id to row ids for inserted `events` @@ -10546,60 +11038,69 @@ components: type: object properties: experiment: - type: object - nullable: true + type: + - object + - "null" additionalProperties: type: object properties: events: - type: array - nullable: true + type: + - array + - "null" items: $ref: "#/components/schemas/InsertExperimentEvent" description: A list of experiment events to insert feedback: - type: array - nullable: true + type: + - array + - "null" items: $ref: "#/components/schemas/FeedbackExperimentItem" description: A list of experiment feedback items description: A mapping from experiment id to a set of log events and feedback items to insert dataset: - type: object - nullable: true + type: + - object + - "null" additionalProperties: type: object properties: events: - type: array - nullable: true + type: + - array + - "null" items: $ref: "#/components/schemas/InsertDatasetEvent" description: A list of dataset events to insert feedback: - type: array - nullable: true + type: + - array + - "null" items: $ref: "#/components/schemas/FeedbackDatasetItem" description: A list of dataset feedback items description: A mapping from dataset id to a set of log events and feedback items to insert project_logs: - type: object - nullable: true + type: + - object + - "null" additionalProperties: type: object properties: events: - type: array - nullable: true + type: + - array + - "null" items: $ref: "#/components/schemas/InsertProjectLogsEvent" description: A list of project logs events to insert feedback: - type: array - nullable: true + type: + - array + - "null" items: $ref: "#/components/schemas/FeedbackProjectLogsItem" description: A list of project logs feedback items @@ -10617,8 +11118,9 @@ components: preprocessor: $ref: "#/components/schemas/PreprocessorId" tool_functions: - type: array - nullable: true + type: + - array + - "null" items: allOf: - $ref: "#/components/schemas/SavedFunctionId" @@ -10653,16 +11155,18 @@ components: - name title: global template_format: - type: string - nullable: true + type: + - string + - "null" enum: - mustache - nunjucks - none - null mcp: - type: object - nullable: true + type: + - object + - "null" additionalProperties: oneOf: - type: object @@ -10677,8 +11181,9 @@ components: is_disabled: type: boolean enabled_tools: - type: array - nullable: true + type: + - array + - "null" items: type: string description: If omitted, all tools are enabled @@ -10697,8 +11202,9 @@ components: is_disabled: type: boolean enabled_tools: - type: array - nullable: true + type: + - array + - "null" items: type: string description: If omitted, all tools are enabled @@ -10707,8 +11213,9 @@ components: - url title: MCP server url. This is used for inline definitions of MCP servers. origin: - type: object - nullable: true + type: + - object + - "null" properties: prompt_id: type: string @@ -10800,8 +11307,9 @@ components: - description: The function type for inline code. Required when invoking inline preprocessors. name: - type: string - nullable: true + type: + - string + - "null" description: The name of the inline code function required: - inline_context @@ -10814,13 +11322,13 @@ components: $ref: "#/components/schemas/PromptData" inline_function: type: object - additionalProperties: - nullable: true + additionalProperties: {} function_type: $ref: "#/components/schemas/FunctionTypeEnum" name: - type: string - nullable: true + type: + - string + - "null" description: The name of the inline function required: - inline_function @@ -10833,8 +11341,9 @@ components: function_type: $ref: "#/components/schemas/FunctionTypeEnum" name: - type: string - nullable: true + type: + - string + - "null" description: The name of the inline prompt required: - inline_prompt @@ -10842,8 +11351,9 @@ components: title: inline_prompt description: The function to evaluate GitMetadataSettings: - type: object - nullable: true + type: + - object + - "null" properties: collect: type: string @@ -10884,19 +11394,21 @@ components: dataset_id: type: string dataset_version: - type: string - nullable: true + type: + - string + - "null" description: The version of the dataset to evaluate dataset_environment: - type: string - nullable: true + type: + - string + - "null" description: The environment tag that resolves to the dataset version to evaluate _internal_btql: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} required: - dataset_id description: Dataset id @@ -10908,19 +11420,21 @@ components: dataset_name: type: string dataset_version: - type: string - nullable: true + type: + - string + - "null" description: The version of the dataset to evaluate dataset_environment: - type: string - nullable: true + type: + - string + - "null" description: The environment tag that resolves to the dataset version to evaluate _internal_btql: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} required: - project_name - dataset_name @@ -10930,8 +11444,7 @@ components: properties: data: type: array - items: - nullable: true + items: {} source_dataset_id: type: string description: The saved dataset these rows came from. Its project scopes saved @@ -10956,8 +11469,7 @@ components: description: The name of the eval to run when multiple evals available parameters: type: object - additionalProperties: - nullable: true + additionalProperties: {} description: Values for any parameters used in the eval task: $ref: "#/components/schemas/FunctionId" @@ -10975,8 +11487,7 @@ components: unique identifier. metadata: type: object - additionalProperties: - nullable: true + additionalProperties: {} description: Optional experiment-level metadata to store about the evaluation. You can later use this to slice & dice across experiments. parent: @@ -10990,36 +11501,42 @@ components: and another upon completion. If false, the request will return the evaluation's summary upon completion." trial_count: - type: number - nullable: true + type: + - number + - "null" description: The number of times to run the evaluator per input. This is useful for evaluating applications that have non-deterministic behavior and gives you both a stronger aggregate measure and a sense of the variance in the results. is_public: - type: boolean - nullable: true + type: + - boolean + - "null" description: Whether the experiment should be public. Defaults to false. timeout: - type: number - nullable: true + type: + - number + - "null" description: The maximum duration, in milliseconds, to run the evaluation. There is no timeout by default. max_concurrency: - type: number - nullable: true + type: + - number + - "null" default: 10 description: The maximum number of tasks/scorers that will be run concurrently. Defaults to 10. If null is provided, no max concurrency will be used. base_experiment_name: - type: string - nullable: true + type: + - string + - "null" description: An optional experiment name to use as a base. If specified, the new experiment will be summarized and compared to this experiment. base_experiment_id: - type: string - nullable: true + type: + - string + - "null" description: An optional experiment id to use as a base. If specified, the new experiment will be summarized and compared to this experiment. git_metadata_settings: @@ -11030,13 +11547,15 @@ components: - description: Optionally explicitly specify the git metadata for this experiment. This takes precedence over `gitMetadataSettings` if specified. strict: - type: boolean - nullable: true + type: + - boolean + - "null" description: If true, throw an error if one of the variables in the prompt is not present in the input stop_token: - type: string - nullable: true + type: + - string + - "null" description: The token to stop the run extra_messages: type: string @@ -11057,8 +11576,9 @@ components: type: string description: The OAuth token to use endpoint_name: - type: string - nullable: true + type: + - string + - "null" description: Name of the AI provider secret to pin this run to. required: - project_id @@ -11817,8 +12337,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -11826,8 +12345,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -11835,8 +12353,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -11849,8 +12366,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -11858,8 +12374,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getProject tags: @@ -11901,8 +12416,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -11910,8 +12424,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -11919,8 +12432,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -11933,8 +12445,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -11942,8 +12453,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/project/{project_id}: get: operationId: getProjectId @@ -11971,8 +12481,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -11980,8 +12489,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -11989,8 +12497,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -12003,8 +12510,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -12012,8 +12518,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchProjectId tags: @@ -12050,8 +12555,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -12059,8 +12563,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -12068,8 +12571,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -12082,8 +12584,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -12091,8 +12592,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteProjectId tags: @@ -12119,8 +12619,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -12128,8 +12627,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -12137,8 +12635,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -12151,8 +12648,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -12160,8 +12656,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/project_logs/{project_id}/insert: post: operationId: postProjectLogsIdInsert @@ -12196,8 +12691,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -12205,8 +12699,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -12214,8 +12707,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -12228,8 +12720,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -12237,8 +12728,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/project_logs/{project_id}/fetch: post: operationId: postProjectLogsIdFetch @@ -12276,8 +12766,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -12285,8 +12774,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -12294,8 +12782,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -12308,8 +12795,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -12317,8 +12803,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getProjectLogsIdFetch tags: @@ -12352,8 +12837,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -12361,8 +12845,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -12370,8 +12853,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -12384,8 +12866,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -12393,8 +12874,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/project_logs/{project_id}/feedback: post: operationId: postProjectLogsIdFeedback @@ -12429,8 +12909,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -12438,8 +12917,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -12447,8 +12925,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -12461,8 +12938,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -12470,8 +12946,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/experiment: post: tags: @@ -12506,8 +12981,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -12515,8 +12989,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -12524,8 +12997,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -12538,8 +13010,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -12547,8 +13018,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getExperiment tags: @@ -12592,8 +13062,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -12601,8 +13070,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -12610,8 +13078,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -12624,8 +13091,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -12633,8 +13099,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/experiment/{experiment_id}: get: operationId: getExperimentId @@ -12662,8 +13127,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -12671,8 +13135,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -12680,8 +13143,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -12694,8 +13156,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -12703,8 +13164,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchExperimentId tags: @@ -12741,8 +13201,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -12750,8 +13209,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -12759,8 +13217,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -12773,8 +13230,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -12782,8 +13238,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteExperimentId tags: @@ -12810,8 +13265,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -12819,8 +13273,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -12828,8 +13281,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -12842,8 +13294,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -12851,8 +13302,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/experiment/{experiment_id}/insert: post: operationId: postExperimentIdInsert @@ -12887,8 +13337,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -12896,8 +13345,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -12905,8 +13353,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -12919,8 +13366,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -12928,8 +13374,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/experiment/{experiment_id}/fetch: post: operationId: postExperimentIdFetch @@ -12967,8 +13412,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -12976,8 +13420,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -12985,8 +13428,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -12999,8 +13441,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -13008,8 +13449,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getExperimentIdFetch tags: @@ -13043,8 +13483,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -13052,8 +13491,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -13061,8 +13499,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -13075,8 +13512,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -13084,8 +13520,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/experiment/{experiment_id}/feedback: post: operationId: postExperimentIdFeedback @@ -13120,8 +13555,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -13129,8 +13563,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -13138,8 +13571,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -13152,8 +13584,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -13161,8 +13592,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/experiment/{experiment_id}/summarize: get: operationId: getExperimentIdSummarize @@ -13196,8 +13626,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -13205,8 +13634,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -13214,8 +13642,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -13228,8 +13655,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -13237,8 +13663,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/dataset: post: tags: @@ -13273,8 +13698,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -13282,8 +13706,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -13291,8 +13714,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -13305,8 +13727,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -13314,8 +13735,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getDataset tags: @@ -13359,8 +13779,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -13368,8 +13787,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -13377,8 +13795,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -13391,8 +13808,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -13400,8 +13816,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/dataset/{dataset_id}: get: operationId: getDatasetId @@ -13429,8 +13844,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -13438,8 +13852,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -13447,8 +13860,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -13461,8 +13873,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -13470,8 +13881,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchDatasetId tags: @@ -13508,8 +13918,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -13517,8 +13926,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -13526,8 +13934,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -13540,8 +13947,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -13549,8 +13955,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteDatasetId tags: @@ -13577,8 +13982,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -13586,8 +13990,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -13595,8 +13998,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -13609,8 +14011,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -13618,8 +14019,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/dataset/{dataset_id}/insert: post: operationId: postDatasetIdInsert @@ -13654,8 +14054,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -13663,8 +14062,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -13672,8 +14070,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -13686,8 +14083,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -13695,8 +14091,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/dataset/{dataset_id}/fetch: post: operationId: postDatasetIdFetch @@ -13733,8 +14128,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -13742,8 +14136,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -13751,8 +14144,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -13765,8 +14157,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -13774,8 +14165,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getDatasetIdFetch tags: @@ -13808,8 +14198,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -13817,8 +14206,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -13826,8 +14214,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -13840,8 +14227,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -13849,8 +14235,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/dataset/{dataset_id}/feedback: post: operationId: postDatasetIdFeedback @@ -13885,8 +14270,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -13894,8 +14278,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -13903,8 +14286,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -13917,8 +14299,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -13926,8 +14307,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/dataset/{dataset_id}/summarize: get: operationId: getDatasetIdSummarize @@ -13957,8 +14337,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -13966,8 +14345,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -13975,8 +14353,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -13989,8 +14366,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -13998,8 +14374,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/dataset/{dataset_id}/restore/preview: post: operationId: postDatasetIdRestorePreview @@ -14036,8 +14411,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -14045,8 +14419,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -14054,8 +14427,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -14068,8 +14440,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -14077,8 +14448,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/dataset/{dataset_id}/restore: post: operationId: postDatasetIdRestore @@ -14116,8 +14486,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -14125,8 +14494,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -14134,8 +14502,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -14148,8 +14515,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -14157,8 +14523,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/prompt: post: tags: @@ -14193,8 +14558,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -14202,8 +14566,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -14211,8 +14574,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -14225,8 +14587,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -14234,8 +14595,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} put: tags: - Prompts @@ -14269,8 +14629,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -14278,8 +14637,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -14287,8 +14645,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -14301,8 +14658,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -14310,8 +14666,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getPrompt tags: @@ -14358,8 +14713,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -14367,8 +14721,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -14376,8 +14729,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -14390,8 +14742,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -14399,8 +14750,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/prompt/{prompt_id}: get: operationId: getPromptId @@ -14430,8 +14780,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -14439,8 +14788,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -14448,8 +14796,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -14462,8 +14809,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -14471,8 +14817,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchPromptId tags: @@ -14509,8 +14854,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -14518,8 +14862,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -14527,8 +14870,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -14541,8 +14883,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -14550,8 +14891,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deletePromptId tags: @@ -14578,8 +14918,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -14587,8 +14926,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -14596,8 +14934,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -14610,8 +14947,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -14619,8 +14955,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/role: post: tags: @@ -14655,8 +14990,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -14664,8 +14998,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -14673,8 +15006,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -14687,8 +15019,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -14696,8 +15027,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} put: tags: - Roles @@ -14731,8 +15061,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -14740,8 +15069,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -14749,8 +15077,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -14763,8 +15090,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -14772,8 +15098,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getRole tags: @@ -14815,8 +15140,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -14824,8 +15148,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -14833,8 +15156,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -14847,8 +15169,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -14856,8 +15177,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/role/{role_id}: get: operationId: getRoleId @@ -14885,8 +15205,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -14894,8 +15213,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -14903,8 +15221,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -14917,8 +15234,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -14926,8 +15242,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchRoleId tags: @@ -14964,8 +15279,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -14973,8 +15287,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -14982,8 +15295,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -14996,8 +15308,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -15005,8 +15316,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteRoleId tags: @@ -15033,8 +15343,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -15042,8 +15351,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -15051,8 +15359,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -15065,8 +15372,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -15074,8 +15380,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/group: post: tags: @@ -15110,8 +15415,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -15119,8 +15423,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -15128,8 +15431,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -15142,8 +15444,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -15151,8 +15452,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} put: tags: - Groups @@ -15186,8 +15486,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -15195,8 +15494,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -15204,8 +15502,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -15218,8 +15515,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -15227,8 +15523,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getGroup tags: @@ -15270,8 +15565,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -15279,8 +15573,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -15288,8 +15581,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -15302,8 +15594,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -15311,8 +15602,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/group/{group_id}: get: operationId: getGroupId @@ -15340,8 +15630,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -15349,8 +15638,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -15358,8 +15646,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -15372,8 +15659,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -15381,8 +15667,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchGroupId tags: @@ -15419,8 +15704,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -15428,8 +15712,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -15437,8 +15720,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -15451,8 +15733,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -15460,8 +15741,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteGroupId tags: @@ -15488,8 +15768,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -15497,8 +15776,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -15506,8 +15784,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -15520,8 +15797,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -15529,8 +15805,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/project_group: post: tags: @@ -15565,8 +15840,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -15574,8 +15848,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -15583,8 +15856,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -15597,8 +15869,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -15606,8 +15877,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} put: tags: - ProjectGroups @@ -15641,8 +15911,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -15650,8 +15919,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -15659,8 +15927,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -15673,8 +15940,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -15682,8 +15948,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getProjectGroup tags: @@ -15726,8 +15991,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -15735,8 +15999,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -15744,8 +16007,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -15758,8 +16020,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -15767,8 +16028,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/project_group/{project_group_id}: get: operationId: getProjectGroupId @@ -15796,8 +16056,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -15805,8 +16064,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -15814,8 +16072,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -15828,8 +16085,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -15837,8 +16093,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchProjectGroupId tags: @@ -15875,8 +16130,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -15884,8 +16138,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -15893,8 +16146,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -15907,8 +16159,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -15916,8 +16167,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteProjectGroupId tags: @@ -15944,8 +16194,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -15953,8 +16202,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -15962,8 +16210,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -15976,8 +16223,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -15985,8 +16231,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/acl: post: tags: @@ -16021,8 +16266,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -16030,8 +16274,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -16039,8 +16282,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -16053,8 +16295,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -16062,8 +16303,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteAcl tags: @@ -16095,8 +16335,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -16104,8 +16343,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -16113,8 +16351,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -16127,8 +16364,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -16136,8 +16372,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getAcl tags: @@ -16184,8 +16419,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -16193,8 +16427,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -16202,8 +16435,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -16216,8 +16448,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -16225,8 +16456,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/acl/{acl_id}: get: operationId: getAclId @@ -16254,8 +16484,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -16263,8 +16492,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -16272,8 +16500,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -16286,8 +16513,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -16295,8 +16521,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteAclId tags: @@ -16323,8 +16548,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -16332,8 +16556,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -16341,8 +16564,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -16355,8 +16577,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -16364,8 +16585,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/acl/batch_update: post: operationId: aclBatchUpdate @@ -16400,8 +16620,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -16409,8 +16628,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -16418,8 +16636,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -16432,8 +16649,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -16441,8 +16657,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/acl/list_org: get: operationId: aclListOrg @@ -16484,8 +16699,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -16493,8 +16707,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -16502,8 +16715,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -16516,8 +16728,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -16525,8 +16736,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/user: get: operationId: getUser @@ -16571,8 +16781,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -16580,8 +16789,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -16589,8 +16797,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -16603,8 +16810,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -16612,8 +16818,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/user/{user_id}: get: operationId: getUserId @@ -16641,8 +16846,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -16650,8 +16854,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -16659,8 +16862,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -16673,8 +16875,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -16682,8 +16883,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/agent: post: tags: @@ -16718,8 +16918,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -16727,8 +16926,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -16736,8 +16934,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -16750,8 +16947,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -16759,8 +16955,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} put: tags: - Agents @@ -16794,8 +16989,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -16803,8 +16997,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -16812,8 +17005,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -16826,8 +17018,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -16835,8 +17026,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getAgent tags: @@ -16878,8 +17068,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -16887,8 +17076,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -16896,8 +17084,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -16910,8 +17097,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -16919,8 +17105,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/agent/{agent_id}: get: operationId: getAgentId @@ -16948,8 +17133,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -16957,8 +17141,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -16966,8 +17149,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -16980,8 +17162,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -16989,8 +17170,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchAgentId tags: @@ -17027,8 +17207,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -17036,8 +17215,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -17045,8 +17223,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -17059,8 +17236,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -17068,8 +17244,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteAgentId tags: @@ -17096,8 +17271,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -17105,8 +17279,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -17114,8 +17287,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -17128,8 +17300,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -17137,8 +17308,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/project_automation: post: tags: @@ -17173,8 +17343,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -17182,8 +17351,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -17191,8 +17359,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -17205,8 +17372,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -17214,8 +17380,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} put: tags: - ProjectAutomations @@ -17250,8 +17415,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -17259,8 +17423,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -17268,8 +17431,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -17282,8 +17444,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -17291,8 +17452,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getProjectAutomation tags: @@ -17335,8 +17495,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -17344,8 +17503,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -17353,8 +17511,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -17367,8 +17524,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -17376,8 +17532,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/project_automation/{project_automation_id}: get: operationId: getProjectAutomationId @@ -17405,8 +17560,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -17414,8 +17568,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -17423,8 +17576,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -17437,8 +17589,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -17446,8 +17597,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchProjectAutomationId tags: @@ -17484,8 +17634,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -17493,8 +17642,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -17502,8 +17650,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -17516,8 +17663,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -17525,8 +17671,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteProjectAutomationId tags: @@ -17553,8 +17698,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -17562,8 +17706,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -17571,8 +17714,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -17585,8 +17727,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -17594,8 +17735,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/org_automation: post: tags: @@ -17630,8 +17770,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -17639,8 +17778,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -17648,8 +17786,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -17662,8 +17799,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -17671,8 +17807,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} put: tags: - OrgAutomations @@ -17706,8 +17841,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -17715,8 +17849,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -17724,8 +17857,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -17738,8 +17870,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -17747,8 +17878,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getOrgAutomation tags: @@ -17791,8 +17921,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -17800,8 +17929,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -17809,8 +17937,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -17823,8 +17950,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -17832,8 +17958,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/org_automation/{org_automation_id}: get: operationId: getOrgAutomationId @@ -17861,8 +17986,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -17870,8 +17994,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -17879,8 +18002,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -17893,8 +18015,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -17902,8 +18023,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchOrgAutomationId tags: @@ -17940,8 +18060,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -17949,8 +18068,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -17958,8 +18076,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -17972,8 +18089,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -17981,8 +18097,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteOrgAutomationId tags: @@ -18009,8 +18124,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -18018,8 +18132,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -18027,8 +18140,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -18041,8 +18153,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -18050,8 +18161,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/project_score: post: tags: @@ -18086,8 +18196,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -18095,8 +18204,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -18104,8 +18212,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -18118,8 +18225,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -18127,8 +18233,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} put: tags: - ProjectScores @@ -18163,8 +18268,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -18172,8 +18276,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -18181,8 +18284,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -18195,8 +18297,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -18204,8 +18305,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getProjectScore tags: @@ -18251,8 +18351,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -18260,8 +18359,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -18269,8 +18367,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -18283,8 +18380,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -18292,8 +18388,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/project_score/{project_score_id}: get: operationId: getProjectScoreId @@ -18321,8 +18416,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -18330,8 +18424,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -18339,8 +18432,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -18353,8 +18445,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -18362,8 +18453,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchProjectScoreId tags: @@ -18400,8 +18490,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -18409,8 +18498,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -18418,8 +18506,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -18432,8 +18519,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -18441,8 +18527,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteProjectScoreId tags: @@ -18469,8 +18554,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -18478,8 +18562,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -18487,8 +18570,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -18501,8 +18583,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -18510,8 +18591,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/project_tag: post: tags: @@ -18546,8 +18626,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -18555,8 +18634,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -18564,8 +18642,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -18578,8 +18655,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -18587,8 +18663,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} put: tags: - ProjectTags @@ -18622,8 +18697,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -18631,8 +18705,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -18640,8 +18713,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -18654,8 +18726,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -18663,8 +18734,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getProjectTag tags: @@ -18708,8 +18778,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -18717,8 +18786,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -18726,8 +18794,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -18740,8 +18807,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -18749,8 +18815,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/project_tag/{project_tag_id}: get: operationId: getProjectTagId @@ -18778,8 +18843,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -18787,8 +18851,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -18796,8 +18859,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -18810,8 +18872,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -18819,8 +18880,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchProjectTagId tags: @@ -18857,8 +18917,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -18866,8 +18925,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -18875,8 +18933,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -18889,8 +18946,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -18898,8 +18954,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteProjectTagId tags: @@ -18926,8 +18981,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -18935,8 +18989,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -18944,8 +18997,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -18958,8 +19010,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -18967,8 +19018,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/span_iframe: post: tags: @@ -19003,8 +19053,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -19012,8 +19061,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -19021,8 +19069,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -19035,8 +19082,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -19044,8 +19090,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} put: tags: - SpanIframes @@ -19079,8 +19124,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -19088,8 +19132,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -19097,8 +19140,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -19111,8 +19153,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -19120,8 +19161,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getSpanIframe tags: @@ -19163,8 +19203,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -19172,8 +19211,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -19181,8 +19219,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -19195,8 +19232,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -19204,8 +19240,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/span_iframe/{span_iframe_id}: get: operationId: getSpanIframeId @@ -19233,8 +19268,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -19242,8 +19276,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -19251,8 +19284,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -19265,8 +19297,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -19274,8 +19305,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchSpanIframeId tags: @@ -19312,8 +19342,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -19321,8 +19350,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -19330,8 +19358,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -19344,8 +19371,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -19353,8 +19379,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteSpanIframeId tags: @@ -19381,8 +19406,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -19390,8 +19414,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -19399,8 +19422,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -19413,8 +19435,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -19422,8 +19443,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/function: post: tags: @@ -19458,8 +19478,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -19467,8 +19486,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -19476,8 +19494,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -19490,8 +19507,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -19499,8 +19515,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} put: tags: - Functions @@ -19534,8 +19549,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -19543,8 +19557,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -19552,8 +19565,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -19566,8 +19578,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -19575,8 +19586,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getFunction tags: @@ -19623,8 +19633,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -19632,8 +19641,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -19641,8 +19649,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -19655,8 +19662,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -19664,8 +19670,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/function/{function_id}: get: operationId: getFunctionId @@ -19695,8 +19700,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -19704,8 +19708,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -19713,8 +19716,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -19727,8 +19729,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -19736,8 +19737,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchFunctionId tags: @@ -19774,8 +19774,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -19783,8 +19782,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -19792,8 +19790,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -19806,8 +19803,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -19815,8 +19811,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteFunctionId tags: @@ -19843,8 +19838,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -19852,8 +19846,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -19861,8 +19854,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -19875,8 +19867,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -19884,8 +19875,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/function/{function_id}/invoke: post: operationId: postFunctionIdInvoke @@ -19914,8 +19904,7 @@ paths: when unnamed; arrays require a unique name for every score." content: application/json: - schema: - nullable: true + schema: {} /v1/view: post: tags: @@ -19950,8 +19939,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -19959,8 +19947,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -19968,8 +19955,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -19982,8 +19968,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -19991,8 +19976,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} put: tags: - Views @@ -20026,8 +20010,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -20035,8 +20018,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -20044,8 +20026,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -20058,8 +20039,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -20067,8 +20047,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getView tags: @@ -20112,8 +20091,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -20121,8 +20099,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -20130,8 +20107,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -20144,8 +20120,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -20153,8 +20128,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/view/{view_id}: get: operationId: getViewId @@ -20184,8 +20158,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -20193,8 +20166,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -20202,8 +20174,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -20216,8 +20187,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -20225,8 +20195,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchViewId tags: @@ -20263,8 +20232,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -20272,8 +20240,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -20281,8 +20248,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -20295,8 +20261,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -20304,8 +20269,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteViewId tags: @@ -20339,8 +20303,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -20348,8 +20311,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -20357,8 +20319,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -20371,8 +20332,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -20380,8 +20340,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/organization: get: operationId: getOrganization @@ -20423,8 +20382,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -20432,8 +20390,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -20441,8 +20398,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -20455,8 +20411,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -20464,8 +20419,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/organization/{organization_id}: get: operationId: getOrganizationId @@ -20493,8 +20447,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -20502,8 +20455,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -20511,8 +20463,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -20525,8 +20476,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -20534,8 +20484,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchOrganizationId tags: @@ -20572,8 +20521,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -20581,8 +20529,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -20590,8 +20537,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -20604,8 +20550,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -20613,8 +20558,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/organization/members: patch: operationId: patchOrganizationMembers @@ -20647,8 +20591,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -20656,8 +20599,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -20665,8 +20607,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -20679,8 +20620,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -20688,8 +20628,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/organization/api_keys: get: operationId: getOrganizationApiKeys @@ -20739,8 +20678,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -20748,8 +20686,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -20757,8 +20694,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -20771,8 +20707,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -20780,8 +20715,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/api_key: get: operationId: getApiKey @@ -20830,8 +20764,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -20839,8 +20772,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -20848,8 +20780,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -20862,8 +20793,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -20871,8 +20801,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/api_key/{api_key_id}: get: operationId: getApiKeyId @@ -20900,8 +20829,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -20909,8 +20837,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -20918,8 +20845,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -20932,8 +20858,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -20941,8 +20866,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteApiKeyId tags: @@ -20969,8 +20893,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -20978,8 +20901,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -20987,8 +20909,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -21001,8 +20922,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -21010,8 +20930,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/service_token: post: tags: @@ -21045,8 +20964,9 @@ paths: type: string description: Name of the service token. Does not have to be unique org_name: - type: string - nullable: true + type: + - string + - "null" description: For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization @@ -21057,12 +20977,12 @@ paths: create a service account, visit [**Settings > Service tokens**](https://www.braintrust.dev/app/~/configuration/org/service-tokens) in the Braintrust UI or call [`PATCH - /v1/organization/members`](https://www.braintrust.dev/docs/api-reference/organizations/modify-organization-membership). + /v1/organization/members`](https://docs.braintrust.dev/api-reference/organizations/modify-organization-membership). expires_in_seconds: - type: integer - nullable: true - minimum: 0 - exclusiveMinimum: true + type: + - integer + - "null" + exclusiveMinimum: 0 description: Number of seconds from now after which the service token should expire. If omitted, the token never expires. required: @@ -21084,8 +21004,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -21093,8 +21012,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -21102,8 +21020,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -21116,8 +21033,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -21125,8 +21041,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} put: tags: - ServiceTokens @@ -21150,8 +21065,9 @@ paths: type: string description: Name of the service token. Does not have to be unique org_name: - type: string - nullable: true + type: + - string + - "null" description: For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization @@ -21162,12 +21078,12 @@ paths: create a service account, visit [**Settings > Service tokens**](https://www.braintrust.dev/app/~/configuration/org/service-tokens) in the Braintrust UI or call [`PATCH - /v1/organization/members`](https://www.braintrust.dev/docs/api-reference/organizations/modify-organization-membership). + /v1/organization/members`](https://docs.braintrust.dev/api-reference/organizations/modify-organization-membership). expires_in_seconds: - type: integer - nullable: true - minimum: 0 - exclusiveMinimum: true + type: + - integer + - "null" + exclusiveMinimum: 0 description: Number of seconds from now after which the service token should expire. If omitted, the token never expires. required: @@ -21189,8 +21105,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -21198,8 +21113,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -21207,8 +21121,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -21221,8 +21134,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -21230,8 +21142,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteServiceToken tags: @@ -21263,8 +21174,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -21272,8 +21182,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -21281,8 +21190,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -21295,8 +21203,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -21304,8 +21211,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getServiceToken tags: @@ -21313,7 +21219,7 @@ paths: description: |- List out all service tokens. They are sorted by creation date, with the most recently-created tokens coming first. - To create a service token, visit [**Settings > Service tokens**](https://www.braintrust.dev/app/~/configuration/org/service-tokens) as an organization owner or an Owner of an active project group in the organization, or call [`POST /v1/service_token`](https://www.braintrust.dev/docs/api-reference/servicetokens/create-service_token) with a service token. Results include only service tokens you can manage. + To create a service token, visit [**Settings > Service tokens**](https://www.braintrust.dev/app/~/configuration/org/service-tokens) as an organization owner or an Owner of an active project group in the organization, or call [`POST /v1/service_token`](https://docs.braintrust.dev/api-reference/servicetokens/create-service_token) with a service token. Results include only service tokens you can manage. summary: List service tokens security: - bearerAuth: [] @@ -21349,8 +21255,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -21358,8 +21263,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -21367,8 +21271,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -21381,8 +21284,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -21390,8 +21292,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/service_token/{service_token_id}: get: operationId: getServiceTokenId @@ -21419,8 +21320,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -21428,8 +21328,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -21437,8 +21336,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -21451,8 +21349,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -21460,8 +21357,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteServiceTokenId tags: @@ -21488,8 +21384,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -21497,8 +21392,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -21506,8 +21400,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -21520,8 +21413,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -21529,8 +21421,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/ai_secret: post: tags: @@ -21565,8 +21456,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -21574,8 +21464,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -21583,8 +21472,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -21597,8 +21485,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -21606,8 +21493,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} put: tags: - AiSecrets @@ -21641,8 +21527,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -21650,8 +21535,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -21659,8 +21543,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -21673,8 +21556,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -21682,8 +21564,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteAiSecret tags: @@ -21715,8 +21596,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -21724,8 +21604,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -21733,8 +21612,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -21747,8 +21625,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -21756,8 +21633,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getAiSecret tags: @@ -21800,8 +21676,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -21809,8 +21684,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -21818,8 +21692,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -21832,8 +21705,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -21841,8 +21713,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/ai_secret/{ai_secret_id}: get: operationId: getAiSecretId @@ -21870,8 +21741,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -21879,8 +21749,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -21888,8 +21757,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -21902,8 +21770,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -21911,8 +21778,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchAiSecretId tags: @@ -21949,8 +21815,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -21958,8 +21823,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -21967,8 +21831,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -21981,8 +21844,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -21990,8 +21852,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteAiSecretId tags: @@ -22018,8 +21879,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -22027,8 +21887,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -22036,8 +21895,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -22050,8 +21908,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -22059,8 +21916,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/env_var: post: tags: @@ -22097,19 +21953,21 @@ paths: type: string description: The name of the environment variable value: - type: string - nullable: true + type: + - string + - "null" description: The value of the environment variable. Will be encrypted at rest. metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: Optional metadata associated with the environment variable when managed via the function secrets API secret_type: - type: string - nullable: true + type: + - string + - "null" description: Optional classification for the secret (for example, the AI provider name) required: @@ -22131,8 +21989,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -22140,8 +21997,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -22149,8 +22005,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -22163,8 +22018,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -22172,8 +22026,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} put: tags: - EnvVars @@ -22209,19 +22062,21 @@ paths: type: string description: The name of the environment variable value: - type: string - nullable: true + type: + - string + - "null" description: The value of the environment variable. Will be encrypted at rest. metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: Optional metadata associated with the environment variable when managed via the function secrets API secret_type: - type: string - nullable: true + type: + - string + - "null" description: Optional classification for the secret (for example, the AI provider name) required: @@ -22243,8 +22098,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -22252,8 +22106,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -22261,8 +22114,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -22275,8 +22127,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -22284,8 +22135,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getEnvVar tags: @@ -22326,8 +22176,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -22335,8 +22184,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -22344,8 +22192,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -22358,8 +22205,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -22367,8 +22213,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/env_var/{env_var_id}: get: operationId: getEnvVarId @@ -22396,8 +22241,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -22405,8 +22249,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -22414,8 +22257,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -22428,8 +22270,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -22437,8 +22278,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchEnvVarId tags: @@ -22465,19 +22305,21 @@ paths: type: string description: The name of the environment variable value: - type: string - nullable: true + type: + - string + - "null" description: The value of the environment variable. Will be encrypted at rest. metadata: - type: object - nullable: true - additionalProperties: - nullable: true + type: + - object + - "null" + additionalProperties: {} description: Optional metadata associated with the environment variable when managed via the function secrets API secret_type: - type: string - nullable: true + type: + - string + - "null" description: Optional classification for the secret (for example, the AI provider name) required: @@ -22497,8 +22339,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -22506,8 +22347,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -22515,8 +22355,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -22529,8 +22368,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -22538,8 +22376,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteEnvVarId tags: @@ -22566,8 +22403,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -22575,8 +22411,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -22584,8 +22419,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -22598,8 +22432,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -22607,8 +22440,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/mcp_server: post: tags: @@ -22643,8 +22475,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -22652,8 +22483,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -22661,8 +22491,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -22675,8 +22504,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -22684,8 +22512,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} put: tags: - McpServers @@ -22719,8 +22546,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -22728,8 +22554,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -22737,8 +22562,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -22751,8 +22575,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -22760,8 +22583,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getMcpServer tags: @@ -22803,8 +22625,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -22812,8 +22633,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -22821,8 +22641,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -22835,8 +22654,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -22844,8 +22662,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/mcp_server/{mcp_server_id}: get: operationId: getMcpServerId @@ -22873,8 +22690,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -22882,8 +22698,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -22891,8 +22706,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -22905,8 +22719,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -22914,8 +22727,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchMcpServerId tags: @@ -22952,8 +22764,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -22961,8 +22772,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -22970,8 +22780,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -22984,8 +22793,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -22993,8 +22801,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteMcpServerId tags: @@ -23021,8 +22828,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -23030,8 +22836,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -23039,8 +22844,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -23053,8 +22857,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -23062,8 +22865,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/dataset_snapshot: post: tags: @@ -23098,8 +22900,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -23107,8 +22908,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -23116,8 +22916,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -23130,8 +22929,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -23139,8 +22937,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} put: tags: - DatasetSnapshots @@ -23174,8 +22971,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -23183,8 +22979,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -23192,8 +22987,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -23206,8 +23000,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -23215,8 +23008,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} get: operationId: getDatasetSnapshot tags: @@ -23259,8 +23051,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -23268,8 +23059,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -23277,8 +23067,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -23291,8 +23080,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -23300,8 +23088,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/dataset_snapshot/{dataset_snapshot_id}: get: operationId: getDatasetSnapshotId @@ -23329,8 +23116,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -23338,8 +23124,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -23347,8 +23132,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -23361,8 +23145,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -23370,8 +23153,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchDatasetSnapshotId tags: @@ -23408,8 +23190,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -23417,8 +23198,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -23426,8 +23206,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -23440,8 +23219,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -23449,8 +23227,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteDatasetSnapshotId tags: @@ -23477,8 +23254,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -23486,8 +23262,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -23495,8 +23270,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -23509,8 +23283,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -23518,8 +23291,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/project/{project_id}/simulated_user: get: operationId: listSimulatedUsers @@ -23585,8 +23357,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -23594,8 +23365,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -23603,8 +23373,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -23617,8 +23386,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -23626,8 +23394,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} post: operationId: createSimulatedUser summary: Create simulated user @@ -23666,8 +23433,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -23675,8 +23441,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -23684,8 +23449,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -23698,8 +23462,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -23707,8 +23470,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/project/{project_id}/simulated_user/{id}: get: operationId: getSimulatedUser @@ -23748,8 +23510,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -23757,8 +23518,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -23766,8 +23526,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -23780,8 +23539,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -23789,8 +23547,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: patchSimulatedUser summary: Update simulated user @@ -23837,8 +23594,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -23846,8 +23602,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -23855,8 +23610,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -23869,8 +23623,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -23878,8 +23631,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteSimulatedUser summary: Delete simulated user @@ -23919,8 +23671,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -23928,8 +23679,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -23937,8 +23687,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -23951,8 +23700,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -23960,8 +23708,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /environment: get: operationId: listEnvironments @@ -24015,8 +23762,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -24024,8 +23770,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -24033,8 +23778,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -24047,8 +23791,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -24056,8 +23799,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} post: operationId: createEnvironment summary: Create environment @@ -24087,8 +23829,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -24096,8 +23837,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -24105,8 +23845,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -24119,8 +23858,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -24128,8 +23866,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /environment/{environment_id}: get: operationId: getEnvironment @@ -24162,8 +23899,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -24171,8 +23907,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -24180,8 +23915,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -24194,8 +23928,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -24203,8 +23936,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} patch: operationId: updateEnvironment summary: Partially update environment @@ -24242,8 +23974,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -24251,8 +23982,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -24260,8 +23990,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -24274,8 +24003,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -24283,8 +24011,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} delete: operationId: deleteEnvironment summary: Delete environment @@ -24316,8 +24043,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -24325,8 +24051,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -24334,8 +24059,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -24348,8 +24072,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -24357,8 +24080,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1: get: operationId: getIndex @@ -24383,8 +24105,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -24392,8 +24113,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/insert: post: operationId: postCrossObjectInsert @@ -24425,8 +24145,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "401": description: No valid API key provided content: @@ -24434,8 +24153,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "403": description: The API key doesn’t have permissions to perform the request content: @@ -24443,8 +24161,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "429": description: Too many requests hit the API too quickly. We recommend an exponential backoff of your requests @@ -24457,8 +24174,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} "500": description: Something went wrong on Braintrust's end. (These are rare.) content: @@ -24466,8 +24182,7 @@ paths: schema: type: string application/json: - schema: - nullable: true + schema: {} /v1/proxy/chat/completions: post: operationId: proxychatCompletions @@ -24486,15 +24201,13 @@ paths: required: true content: application/json: - schema: - nullable: true + schema: {} responses: "200": description: Proxy response (supports both streaming and non-streaming formats) content: application/json: - schema: - nullable: true + schema: {} /v1/proxy/completions: post: operationId: proxycompletions @@ -24513,15 +24226,13 @@ paths: required: true content: application/json: - schema: - nullable: true + schema: {} responses: "200": description: Proxy response (supports both streaming and non-streaming formats) content: application/json: - schema: - nullable: true + schema: {} /v1/proxy/auto: post: operationId: proxyauto @@ -24539,15 +24250,13 @@ paths: required: true content: application/json: - schema: - nullable: true + schema: {} responses: "200": description: Proxy response (supports both streaming and non-streaming formats) content: application/json: - schema: - nullable: true + schema: {} /v1/proxy/embeddings: post: operationId: proxyembeddings @@ -24566,15 +24275,13 @@ paths: required: true content: application/json: - schema: - nullable: true + schema: {} responses: "200": description: Proxy response (supports both streaming and non-streaming formats) content: application/json: - schema: - nullable: true + schema: {} /v1/proxy/credentials: post: operationId: proxycredentials @@ -24600,8 +24307,9 @@ paths: type: object properties: model: - type: string - nullable: true + type: + - string + - "null" description: Granted model name. Null/undefined to grant usage of all models. ttl_seconds: type: number @@ -24609,8 +24317,9 @@ paths: default: 600 description: TTL of the temporary credential. 10 minutes by default. logging: - type: object - nullable: true + type: + - object + - "null" properties: project_name: type: string @@ -24666,15 +24375,13 @@ paths: required: true content: application/json: - schema: - nullable: true + schema: {} responses: "200": description: Proxy response (supports both streaming and non-streaming formats) content: application/json: - schema: - nullable: true + schema: {} /v1/eval: post: operationId: evalLaunch @@ -24685,7 +24392,7 @@ paths: provide pointers to a dataset, task function, and scoring functions. The API will then run the evaluation, create an experiment, and return the results along with a link to the experiment. To learn more about evals, - see the [Evals guide](https://www.braintrust.dev/docs/evaluate). + see the [Evals guide](https://docs.braintrust.dev/evaluate). summary: Launch an eval security: - bearerAuth: [] @@ -24704,4 +24411,5 @@ paths: application/json: schema: $ref: "#/components/schemas/SummarizeExperimentResponse" +webhooks: {}