openapi: 3.1.0 info: title: Client SDK subpackage_sandboxes API version: 1.0.0 servers: - url: https://predict.vellum.ai - url: https://api.vellum.ai - url: https://documents.vellum.ai tags: - name: subpackage_sandboxes paths: /v1/sandboxes/{id}/prompts/{prompt_variant_id}/deploy: post: operationId: deploy-prompt summary: Deploy Prompt tags: - subpackage_sandboxes parameters: - name: id in: path description: A UUID string identifying this sandbox. required: true schema: type: string format: uuid - name: prompt_variant_id in: path description: An ID identifying the Prompt you'd like to deploy. required: true schema: type: string - name: X-API-KEY in: header required: true schema: type: string - name: X-API-Version in: header required: false schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/DeploymentRead' requestBody: content: application/json: schema: $ref: '#/components/schemas/DeploySandboxPromptRequest' /v1/sandboxes/{id}/scenarios: post: operationId: upsert-sandbox-scenario summary: Upsert Sandbox Scenario description: 'Upserts a new scenario for a sandbox, keying off of the optionally provided scenario id. If an id is provided and has a match, the scenario will be updated. If no id is provided or no match is found, a new scenario will be appended to the end. Note that a full replacement of the scenario is performed, so any fields not provided will be removed or overwritten with default values.' tags: - subpackage_sandboxes parameters: - name: id in: path description: A UUID string identifying this sandbox. required: true schema: type: string format: uuid - name: X-API-KEY in: header required: true schema: type: string - name: X-API-Version in: header required: false schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/SandboxScenario' requestBody: content: application/json: schema: $ref: '#/components/schemas/UpsertSandboxScenarioRequest' /v1/sandboxes/{id}/scenarios/{scenario_id}: delete: operationId: delete-sandbox-scenario summary: Delete Sandbox Scenario description: Deletes an existing scenario from a sandbox, keying off of the provided scenario id. tags: - subpackage_sandboxes parameters: - name: id in: path description: A UUID string identifying this sandbox. required: true schema: type: string format: uuid - name: scenario_id in: path description: An id identifying the scenario that you'd like to delete required: true schema: type: string - name: X-API-KEY in: header required: true schema: type: string - name: X-API-Version in: header required: false schema: type: string responses: '204': description: No response body content: application/json: schema: $ref: '#/components/schemas/sandboxes_delete_sandbox_scenario_Response_204' components: schemas: ArrayChatMessageContentRequest: type: object properties: type: $ref: '#/components/schemas/ArrayEnum' value: type: array items: $ref: '#/components/schemas/ArrayChatMessageContentItemRequest' required: - type - value description: A list of chat message content items. title: ArrayChatMessageContentRequest ScenarioInputAudioVariableValue: type: object properties: type: $ref: '#/components/schemas/AudioEnum' value: oneOf: - $ref: '#/components/schemas/VellumAudio' - type: 'null' input_variable_id: type: string required: - type - value - input_variable_id title: ScenarioInputAudioVariableValue EntityStatus: type: string enum: - ACTIVE - ARCHIVED - PENDING_DELETION description: '* `ACTIVE` - Active * `ARCHIVED` - Archived * `PENDING_DELETION` - Pending Deletion' title: EntityStatus PdfEnum: type: string enum: - PDF title: PdfEnum ErrorVellumValue: type: object properties: type: $ref: '#/components/schemas/ErrorEnum' value: oneOf: - $ref: '#/components/schemas/VellumError' - type: 'null' required: - type - value description: A value representing an Error. title: ErrorVellumValue SearchResultsVellumValue: type: object properties: type: $ref: '#/components/schemas/SearchResultsEnum' value: type: - array - 'null' items: $ref: '#/components/schemas/SearchResult' required: - type - value description: A value representing Search Results. title: SearchResultsVellumValue ChatHistoryVellumValue: type: object properties: type: $ref: '#/components/schemas/ChatHistoryEnum' value: type: - array - 'null' items: $ref: '#/components/schemas/ChatMessage' required: - type - value description: A value representing Chat History. title: ChatHistoryVellumValue ArrayVellumValue: type: object properties: type: $ref: '#/components/schemas/ArrayEnum' value: type: - array - 'null' items: $ref: '#/components/schemas/VellumValue' required: - type - value description: A value representing an array of Vellum variable values. title: ArrayVellumValue VellumVariableType: type: string enum: - STRING - NUMBER - JSON - CHAT_HISTORY - SEARCH_RESULTS - ERROR - ARRAY - FUNCTION_CALL - AUDIO - VIDEO - IMAGE - DOCUMENT - 'NULL' - THINKING - REFERENCE description: '* `STRING` - STRING * `NUMBER` - NUMBER * `JSON` - JSON * `CHAT_HISTORY` - CHAT_HISTORY * `SEARCH_RESULTS` - SEARCH_RESULTS * `ERROR` - ERROR * `ARRAY` - ARRAY * `FUNCTION_CALL` - FUNCTION_CALL * `AUDIO` - AUDIO * `VIDEO` - VIDEO * `IMAGE` - IMAGE * `DOCUMENT` - DOCUMENT * `NULL` - NULL * `THINKING` - THINKING * `REFERENCE` - REFERENCE' title: VellumVariableType ScenarioInputVideoVariableValue: type: object properties: type: $ref: '#/components/schemas/VideoEnum' value: oneOf: - $ref: '#/components/schemas/VellumVideo' - type: 'null' input_variable_id: type: string required: - type - value - input_variable_id title: ScenarioInputVideoVariableValue NamedScenarioInputStringVariableValueRequest: type: object properties: type: $ref: '#/components/schemas/StringEnum' value: type: - string - 'null' name: type: string required: - type - value - name description: Named Prompt Sandbox Scenario input value that is of type STRING title: NamedScenarioInputStringVariableValueRequest VideoEnum: type: string enum: - VIDEO title: VideoEnum DocumentChatMessageContentRequest: type: object properties: type: $ref: '#/components/schemas/DocumentEnum' value: $ref: '#/components/schemas/VellumDocumentRequest' required: - type - value description: A document value that is used in a chat message. title: DocumentChatMessageContentRequest ScenarioInputDocumentVariableValue: type: object properties: type: $ref: '#/components/schemas/DocumentEnum' value: oneOf: - $ref: '#/components/schemas/VellumDocument' - type: 'null' input_variable_id: type: string required: - type - value - input_variable_id title: ScenarioInputDocumentVariableValue VideoChatMessageContent: type: object properties: type: $ref: '#/components/schemas/VideoEnum' value: $ref: '#/components/schemas/VellumVideo' required: - type - value description: A video value that is used in a chat message. title: VideoChatMessageContent FunctionCallChatMessageContentValueRequest: type: object properties: name: type: string arguments: type: object additionalProperties: description: Any type id: type: - string - 'null' required: - name - arguments description: The final resolved function call value. title: FunctionCallChatMessageContentValueRequest SearchResultMeta: type: object properties: source: oneOf: - $ref: '#/components/schemas/SearchResultMetaSource' - type: 'null' title: SearchResultMeta NamedScenarioInputRequest: oneOf: - $ref: '#/components/schemas/NamedScenarioInputStringVariableValueRequest' - $ref: '#/components/schemas/NamedScenarioInputJsonVariableValueRequest' - $ref: '#/components/schemas/NamedScenarioInputChatHistoryVariableValueRequest' - $ref: '#/components/schemas/NamedScenarioInputAudioVariableValueRequest' - $ref: '#/components/schemas/NamedScenarioInputVideoVariableValueRequest' - $ref: '#/components/schemas/NamedScenarioInputImageVariableValueRequest' - $ref: '#/components/schemas/NamedScenarioInputDocumentVariableValueRequest' title: NamedScenarioInputRequest VideoChatMessageContentRequest: type: object properties: type: $ref: '#/components/schemas/VideoEnum' value: $ref: '#/components/schemas/VellumVideoRequest' required: - type - value description: A video value that is used in a chat message. title: VideoChatMessageContentRequest AudioVellumValue: type: object properties: type: $ref: '#/components/schemas/AudioEnum' value: oneOf: - $ref: '#/components/schemas/VellumAudio' - type: 'null' required: - type - value description: A base Vellum primitive value representing audio. title: AudioVellumValue ArrayChatMessageContent: type: object properties: type: $ref: '#/components/schemas/ArrayEnum' value: type: array items: $ref: '#/components/schemas/ArrayChatMessageContentItem' required: - type - value description: A list of chat message content items. title: ArrayChatMessageContent ChatMessageRole: type: string enum: - SYSTEM - ASSISTANT - USER - FUNCTION description: '* `SYSTEM` - System * `ASSISTANT` - Assistant * `USER` - User * `FUNCTION` - Function' title: ChatMessageRole NumberEnum: type: string enum: - NUMBER title: NumberEnum NamedScenarioInputChatHistoryVariableValueRequest: type: object properties: type: $ref: '#/components/schemas/ChatHistoryEnum' value: type: - array - 'null' items: $ref: '#/components/schemas/ChatMessageRequest' name: type: string required: - type - value - name description: Named Prompt Sandbox Scenario input value that is of type CHAT_HISTORY title: NamedScenarioInputChatHistoryVariableValueRequest ArrayChatMessageContentItemRequest: oneOf: - $ref: '#/components/schemas/StringChatMessageContentRequest' - $ref: '#/components/schemas/FunctionCallChatMessageContentRequest' - $ref: '#/components/schemas/AudioChatMessageContentRequest' - $ref: '#/components/schemas/VideoChatMessageContentRequest' - $ref: '#/components/schemas/ImageChatMessageContentRequest' - $ref: '#/components/schemas/DocumentChatMessageContentRequest' title: ArrayChatMessageContentItemRequest StringChatMessageContentRequest: type: object properties: type: $ref: '#/components/schemas/StringEnum' value: type: string required: - type - value description: A string value that is used in a chat message. title: StringChatMessageContentRequest VellumImage: type: object properties: src: type: string description: "The reference to the source data. This can be one of the following formats:\n1. A base64-encoded data URL (e.g., 'data:application/pdf;base64,JVBERi0xLjQKJcfs...').\n2. A url pointing to a file accessible over HTTP or HTTPS.\n3. A reference to a file that's been previously uploaded to Vellum, in the form of 'vellum:uploaded-file:{uploaded_file_id}'.\n You can use the Uploaded Files API to retrieve the url of the uploaded file given its ID. See https://docs.vellum.ai/developers/client-sdk/uploaded-files/retrieve for details." metadata: type: - object - 'null' additionalProperties: description: Any type required: - src title: VellumImage StringVellumValue: type: object properties: type: $ref: '#/components/schemas/StringEnum' value: type: - string - 'null' required: - type - value description: A value representing a string. title: StringVellumValue ScenarioInput: oneOf: - $ref: '#/components/schemas/ScenarioInputStringVariableValue' - $ref: '#/components/schemas/ScenarioInputJsonVariableValue' - $ref: '#/components/schemas/ScenarioInputChatHistoryVariableValue' - $ref: '#/components/schemas/ScenarioInputAudioVariableValue' - $ref: '#/components/schemas/ScenarioInputVideoVariableValue' - $ref: '#/components/schemas/ScenarioInputImageVariableValue' - $ref: '#/components/schemas/ScenarioInputDocumentVariableValue' title: ScenarioInput sandboxes_delete_sandbox_scenario_Response_204: type: object properties: {} description: Empty response body title: sandboxes_delete_sandbox_scenario_Response_204 VellumDocumentRequest: type: object properties: src: type: string description: "The reference to the source data. This can be one of the following formats:\n1. A base64-encoded data URL (e.g., 'data:application/pdf;base64,JVBERi0xLjQKJcfs...').\n2. A url pointing to a file accessible over HTTP or HTTPS.\n3. A reference to a file that's been previously uploaded to Vellum, in the form of 'vellum:uploaded-file:{uploaded_file_id}'.\n You can use the Uploaded Files API to retrieve the url of the uploaded file given its ID. See https://docs.vellum.ai/developers/client-sdk/uploaded-files/retrieve for details." metadata: type: - object - 'null' additionalProperties: description: Any type required: - src title: VellumDocumentRequest DeploySandboxPromptRequest: type: object properties: prompt_deployment_id: type: - string - 'null' format: uuid description: The Vellum-generated ID of the Prompt Deployment you'd like to update. Cannot specify both this and prompt_deployment_name. Leave null to create a new Prompt Deployment. prompt_deployment_name: type: - string - 'null' description: The unique name of the Prompt Deployment you'd like to either create or update. Cannot specify both this and prompt_deployment_id. If provided and matches an existing Prompt Deployment, that Prompt Deployment will be updated. Otherwise, a new Prompt Deployment will be created. label: type: - string - 'null' description: In the event that a new Prompt Deployment is created, this will be the label it's given. release_tags: type: - array - 'null' items: type: string description: Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment. release_description: type: - string - 'null' default: '' description: Optionally provide a description that details what's new in this Release. title: DeploySandboxPromptRequest UpsertSandboxScenarioRequest: type: object properties: label: type: string default: Untitled Scenario inputs: type: array items: $ref: '#/components/schemas/NamedScenarioInputRequest' description: The inputs for the scenario scenario_id: type: string description: The id of the scenario to update. If none is provided, an id will be generated and a new scenario will be appended. required: - inputs title: UpsertSandboxScenarioRequest VellumDocument: type: object properties: src: type: string description: "The reference to the source data. This can be one of the following formats:\n1. A base64-encoded data URL (e.g., 'data:application/pdf;base64,JVBERi0xLjQKJcfs...').\n2. A url pointing to a file accessible over HTTP or HTTPS.\n3. A reference to a file that's been previously uploaded to Vellum, in the form of 'vellum:uploaded-file:{uploaded_file_id}'.\n You can use the Uploaded Files API to retrieve the url of the uploaded file given its ID. See https://docs.vellum.ai/developers/client-sdk/uploaded-files/retrieve for details." metadata: type: - object - 'null' additionalProperties: description: Any type required: - src title: VellumDocument VideoVellumValue: type: object properties: type: $ref: '#/components/schemas/VideoEnum' value: oneOf: - $ref: '#/components/schemas/VellumVideo' - type: 'null' required: - type - value description: A base Vellum primitive value representing a video. title: VideoVellumValue PdfSearchResultMetaSource: type: object properties: document_type: $ref: '#/components/schemas/PdfEnum' start_page_num: type: - integer - 'null' description: The 1-indexed page number where the chunk starts in the document. Only available for supported chunking strategies and document types. end_page_num: type: - integer - 'null' description: The 1-indexed page number where the chunk ends in the document. Only available for supported chunking strategies and document types. required: - document_type - start_page_num - end_page_num description: The source of a search result from a PDF document. title: PdfSearchResultMetaSource ScenarioInputStringVariableValue: type: object properties: type: $ref: '#/components/schemas/StringEnum' value: type: - string - 'null' input_variable_id: type: string required: - type - value - input_variable_id description: Prompt Sandbox Scenario input value that is of type STRING title: ScenarioInputStringVariableValue ImageChatMessageContentRequest: type: object properties: type: $ref: '#/components/schemas/ImageEnum' value: $ref: '#/components/schemas/VellumImageRequest' required: - type - value description: An image value that is used in a chat message. title: ImageChatMessageContentRequest VellumVariableExtensions: type: object properties: color: type: - string - 'null' description: type: - string - 'null' title: type: - string - 'null' description: A set of fields with additional properties for use in Vellum Variables. title: VellumVariableExtensions AudioEnum: type: string enum: - AUDIO title: AudioEnum ImageEnum: type: string enum: - IMAGE title: ImageEnum NamedScenarioInputJsonVariableValueRequest: type: object properties: type: $ref: '#/components/schemas/JsonEnum' value: oneOf: - description: Any type - type: 'null' name: type: string required: - type - value - name description: Named Prompt Sandbox Scenario input value that is of type JSON title: NamedScenarioInputJsonVariableValueRequest FunctionCall: type: object properties: arguments: type: object additionalProperties: description: Any type id: type: - string - 'null' name: type: string required: - arguments - name description: The final resolved function call value. title: FunctionCall JsonVellumValue: type: object properties: type: $ref: '#/components/schemas/JsonEnum' value: oneOf: - description: Any type - type: 'null' required: - type - value description: A value representing a JSON object. title: JsonVellumValue StringChatMessageContent: type: object properties: type: $ref: '#/components/schemas/StringEnum' value: type: string required: - type - value description: A string value that is used in a chat message. title: StringChatMessageContent VellumError: type: object properties: code: $ref: '#/components/schemas/VellumErrorCodeEnum' message: type: string raw_data: type: - object - 'null' additionalProperties: description: Any type required: - code - message title: VellumError EnvironmentEnum: type: string enum: - DEVELOPMENT - STAGING - PRODUCTION title: EnvironmentEnum FunctionCallChatMessageContentValue: type: object properties: name: type: string arguments: type: object additionalProperties: description: Any type id: type: - string - 'null' required: - name - arguments description: The final resolved function call value. title: FunctionCallChatMessageContentValue DocumentChatMessageContent: type: object properties: type: $ref: '#/components/schemas/DocumentEnum' value: $ref: '#/components/schemas/VellumDocument' required: - type - value description: A document value that is used in a chat message. title: DocumentChatMessageContent FunctionCallChatMessageContentRequest: type: object properties: type: $ref: '#/components/schemas/FunctionCallEnum' value: $ref: '#/components/schemas/FunctionCallChatMessageContentValueRequest' required: - type - value description: A function call value that is used in a chat message. title: FunctionCallChatMessageContentRequest ScenarioInputChatHistoryVariableValue: type: object properties: type: $ref: '#/components/schemas/ChatHistoryEnum' value: type: - array - 'null' items: $ref: '#/components/schemas/ChatMessage' input_variable_id: type: string required: - type - value - input_variable_id description: Prompt Sandbox Scenario input value that is of type CHAT_HISTORY title: ScenarioInputChatHistoryVariableValue ChatMessageContent: oneOf: - $ref: '#/components/schemas/StringChatMessageContent' - $ref: '#/components/schemas/FunctionCallChatMessageContent' - $ref: '#/components/schemas/ArrayChatMessageContent' - $ref: '#/components/schemas/AudioChatMessageContent' - $ref: '#/components/schemas/VideoChatMessageContent' - $ref: '#/components/schemas/ImageChatMessageContent' - $ref: '#/components/schemas/DocumentChatMessageContent' title: ChatMessageContent VellumVideoRequest: type: object properties: src: type: string description: "The reference to the source data. This can be one of the following formats:\n1. A base64-encoded data URL (e.g., 'data:application/pdf;base64,JVBERi0xLjQKJcfs...').\n2. A url pointing to a file accessible over HTTP or HTTPS.\n3. A reference to a file that's been previously uploaded to Vellum, in the form of 'vellum:uploaded-file:{uploaded_file_id}'.\n You can use the Uploaded Files API to retrieve the url of the uploaded file given its ID. See https://docs.vellum.ai/developers/client-sdk/uploaded-files/retrieve for details." metadata: type: - object - 'null' additionalProperties: description: Any type required: - src title: VellumVideoRequest StringEnum: type: string enum: - STRING title: StringEnum DocumentVellumValue: type: object properties: type: $ref: '#/components/schemas/DocumentEnum' value: oneOf: - $ref: '#/components/schemas/VellumDocument' - type: 'null' required: - type - value description: A base Vellum primitive value representing a document. title: DocumentVellumValue NumberVellumValue: type: object properties: type: $ref: '#/components/schemas/NumberEnum' value: type: - number - 'null' format: double required: - type - value description: A value representing a number. title: NumberVellumValue ThinkingEnum: type: string enum: - THINKING title: ThinkingEnum FunctionCallVellumValue: type: object properties: type: $ref: '#/components/schemas/FunctionCallEnum' value: oneOf: - $ref: '#/components/schemas/FunctionCall' - type: 'null' required: - type - value description: A value representing a Function Call. title: FunctionCallVellumValue VellumVariable: type: object properties: id: type: string key: type: string type: $ref: '#/components/schemas/VellumVariableType' required: type: - boolean - 'null' default: oneOf: - $ref: '#/components/schemas/VellumValue' - type: 'null' extensions: oneOf: - $ref: '#/components/schemas/VellumVariableExtensions' - type: 'null' schema: type: - object - 'null' additionalProperties: description: Any type required: - id - key - type title: VellumVariable AudioChatMessageContentRequest: type: object properties: type: $ref: '#/components/schemas/AudioEnum' value: $ref: '#/components/schemas/VellumAudioRequest' required: - type - value description: An audio value that is used in a chat message. title: AudioChatMessageContentRequest ImageVellumValue: type: object properties: type: $ref: '#/components/schemas/ImageEnum' value: oneOf: - $ref: '#/components/schemas/VellumImage' - type: 'null' required: - type - value description: A base Vellum primitive value representing an image. title: ImageVellumValue JsonEnum: type: string enum: - JSON title: JsonEnum NamedScenarioInputVideoVariableValueRequest: type: object properties: type: $ref: '#/components/schemas/VideoEnum' value: $ref: '#/components/schemas/VellumVideoRequest' name: type: string required: - type - value - name title: NamedScenarioInputVideoVariableValueRequest FunctionCallEnum: type: string enum: - FUNCTION_CALL title: FunctionCallEnum SearchResultsEnum: type: string enum: - SEARCH_RESULTS title: SearchResultsEnum VellumAudioRequest: type: object properties: src: type: string description: "The reference to the source data. This can be one of the following formats:\n1. A base64-encoded data URL (e.g., 'data:application/pdf;base64,JVBERi0xLjQKJcfs...').\n2. A url pointing to a file accessible over HTTP or HTTPS.\n3. A reference to a file that's been previously uploaded to Vellum, in the form of 'vellum:uploaded-file:{uploaded_file_id}'.\n You can use the Uploaded Files API to retrieve the url of the uploaded file given its ID. See https://docs.vellum.ai/developers/client-sdk/uploaded-files/retrieve for details." metadata: type: - object - 'null' additionalProperties: description: Any type required: - src title: VellumAudioRequest ArrayEnum: type: string enum: - ARRAY title: ArrayEnum SandboxScenario: type: object properties: label: type: string default: Untitled Scenario inputs: type: array items: $ref: '#/components/schemas/ScenarioInput' description: The inputs for the scenario id: type: string description: The id of the scenario required: - inputs - id description: Sandbox Scenario title: SandboxScenario VellumErrorCodeEnum: type: string enum: - INVALID_REQUEST - INVALID_INPUTS - PROVIDER_ERROR - PROVIDER_CREDENTIALS_UNAVAILABLE - INTEGRATION_CREDENTIALS_UNAVAILABLE - REQUEST_TIMEOUT - INTERNAL_SERVER_ERROR - USER_DEFINED_ERROR - WORKFLOW_CANCELLED - NODE_CANCELLED - PROVIDER_QUOTA_EXCEEDED - CHAT_QUOTA_EXCEEDED description: '* `INVALID_REQUEST` - INVALID_REQUEST * `INVALID_INPUTS` - INVALID_INPUTS * `PROVIDER_ERROR` - PROVIDER_ERROR * `PROVIDER_CREDENTIALS_UNAVAILABLE` - PROVIDER_CREDENTIALS_UNAVAILABLE * `INTEGRATION_CREDENTIALS_UNAVAILABLE` - INTEGRATION_CREDENTIALS_UNAVAILABLE * `REQUEST_TIMEOUT` - REQUEST_TIMEOUT * `INTERNAL_SERVER_ERROR` - INTERNAL_SERVER_ERROR * `USER_DEFINED_ERROR` - USER_DEFINED_ERROR * `WORKFLOW_CANCELLED` - WORKFLOW_CANCELLED * `NODE_CANCELLED` - NODE_CANCELLED * `PROVIDER_QUOTA_EXCEEDED` - PROVIDER_QUOTA_EXCEEDED * `CHAT_QUOTA_EXCEEDED` - CHAT_QUOTA_EXCEEDED' title: VellumErrorCodeEnum ScenarioInputImageVariableValue: type: object properties: type: $ref: '#/components/schemas/ImageEnum' value: oneOf: - $ref: '#/components/schemas/VellumImage' - type: 'null' input_variable_id: type: string required: - type - value - input_variable_id title: ScenarioInputImageVariableValue VellumVideo: type: object properties: src: type: string description: "The reference to the source data. This can be one of the following formats:\n1. A base64-encoded data URL (e.g., 'data:application/pdf;base64,JVBERi0xLjQKJcfs...').\n2. A url pointing to a file accessible over HTTP or HTTPS.\n3. A reference to a file that's been previously uploaded to Vellum, in the form of 'vellum:uploaded-file:{uploaded_file_id}'.\n You can use the Uploaded Files API to retrieve the url of the uploaded file given its ID. See https://docs.vellum.ai/developers/client-sdk/uploaded-files/retrieve for details." metadata: type: - object - 'null' additionalProperties: description: Any type required: - src title: VellumVideo ErrorEnum: type: string enum: - ERROR title: ErrorEnum ChatMessageRequest: type: object properties: text: type: - string - 'null' role: $ref: '#/components/schemas/ChatMessageRole' content: oneOf: - $ref: '#/components/schemas/ChatMessageContentRequest' - type: 'null' source: type: - string - 'null' description: An optional identifier representing who or what generated this message. metadata: type: - object - 'null' additionalProperties: description: Any type required: - role title: ChatMessageRequest ChatMessage: type: object properties: text: type: - string - 'null' role: $ref: '#/components/schemas/ChatMessageRole' content: oneOf: - $ref: '#/components/schemas/ChatMessageContent' - type: 'null' source: type: - string - 'null' description: An optional identifier representing who or what generated this message. metadata: type: - object - 'null' additionalProperties: description: Any type required: - role title: ChatMessage ScenarioInputJsonVariableValue: type: object properties: type: $ref: '#/components/schemas/JsonEnum' value: oneOf: - description: Any type - type: 'null' input_variable_id: type: string required: - type - value - input_variable_id description: Prompt Sandbox Scenario input value that is of type JSON title: ScenarioInputJsonVariableValue AudioChatMessageContent: type: object properties: type: $ref: '#/components/schemas/AudioEnum' value: $ref: '#/components/schemas/VellumAudio' required: - type - value description: An audio value that is used in a chat message. title: AudioChatMessageContent DocumentEnum: type: string enum: - DOCUMENT title: DocumentEnum VellumImageRequest: type: object properties: src: type: string description: "The reference to the source data. This can be one of the following formats:\n1. A base64-encoded data URL (e.g., 'data:application/pdf;base64,JVBERi0xLjQKJcfs...').\n2. A url pointing to a file accessible over HTTP or HTTPS.\n3. A reference to a file that's been previously uploaded to Vellum, in the form of 'vellum:uploaded-file:{uploaded_file_id}'.\n You can use the Uploaded Files API to retrieve the url of the uploaded file given its ID. See https://docs.vellum.ai/developers/client-sdk/uploaded-files/retrieve for details." metadata: type: - object - 'null' additionalProperties: description: Any type required: - src title: VellumImageRequest NamedScenarioInputDocumentVariableValueRequest: type: object properties: type: $ref: '#/components/schemas/DocumentEnum' value: $ref: '#/components/schemas/VellumDocumentRequest' name: type: string required: - type - value - name title: NamedScenarioInputDocumentVariableValueRequest ChatHistoryEnum: type: string enum: - CHAT_HISTORY title: ChatHistoryEnum FunctionCallChatMessageContent: type: object properties: type: $ref: '#/components/schemas/FunctionCallEnum' value: $ref: '#/components/schemas/FunctionCallChatMessageContentValue' required: - type - value description: A function call value that is used in a chat message. title: FunctionCallChatMessageContent ImageChatMessageContent: type: object properties: type: $ref: '#/components/schemas/ImageEnum' value: $ref: '#/components/schemas/VellumImage' required: - type - value description: An image value that is used in a chat message. title: ImageChatMessageContent SearchResult: type: object properties: text: type: string description: The text of the chunk that matched the search query. score: type: number format: double description: A score representing how well the chunk matches the search query. keywords: type: array items: type: string document: $ref: '#/components/schemas/SearchResultDocument' description: The document that contains the chunk that matched the search query. meta: oneOf: - $ref: '#/components/schemas/SearchResultMeta' - type: 'null' description: Additional information about the search result. required: - text - score - keywords - document title: SearchResult NamedScenarioInputImageVariableValueRequest: type: object properties: type: $ref: '#/components/schemas/ImageEnum' value: $ref: '#/components/schemas/VellumImageRequest' name: type: string required: - type - value - name title: NamedScenarioInputImageVariableValueRequest NamedScenarioInputAudioVariableValueRequest: type: object properties: type: $ref: '#/components/schemas/AudioEnum' value: $ref: '#/components/schemas/VellumAudioRequest' name: type: string required: - type - value - name title: NamedScenarioInputAudioVariableValueRequest ChatMessageContentRequest: oneOf: - $ref: '#/components/schemas/StringChatMessageContentRequest' - $ref: '#/components/schemas/FunctionCallChatMessageContentRequest' - $ref: '#/components/schemas/ArrayChatMessageContentRequest' - $ref: '#/components/schemas/AudioChatMessageContentRequest' - $ref: '#/components/schemas/VideoChatMessageContentRequest' - $ref: '#/components/schemas/ImageChatMessageContentRequest' - $ref: '#/components/schemas/DocumentChatMessageContentRequest' title: ChatMessageContentRequest ThinkingVellumValue: type: object properties: type: $ref: '#/components/schemas/ThinkingEnum' value: oneOf: - $ref: '#/components/schemas/StringVellumValue' - type: 'null' required: - type - value description: A value representing Thinking mode output. title: ThinkingVellumValue VellumAudio: type: object properties: src: type: string description: "The reference to the source data. This can be one of the following formats:\n1. A base64-encoded data URL (e.g., 'data:application/pdf;base64,JVBERi0xLjQKJcfs...').\n2. A url pointing to a file accessible over HTTP or HTTPS.\n3. A reference to a file that's been previously uploaded to Vellum, in the form of 'vellum:uploaded-file:{uploaded_file_id}'.\n You can use the Uploaded Files API to retrieve the url of the uploaded file given its ID. See https://docs.vellum.ai/developers/client-sdk/uploaded-files/retrieve for details." metadata: type: - object - 'null' additionalProperties: description: Any type required: - src title: VellumAudio SearchResultDocument: type: object properties: id: type: - string - 'null' format: uuid description: The ID of the document. label: type: string description: The human-readable name for the document. external_id: type: - string - 'null' description: The unique ID of the document as represented in an external system and specified when it was originally uploaded. metadata: type: - object - 'null' additionalProperties: description: Any type description: A previously supplied JSON object containing metadata that can be filtered on when searching. required: - label title: SearchResultDocument SearchResultMetaSource: oneOf: - $ref: '#/components/schemas/PdfSearchResultMetaSource' title: SearchResultMetaSource VellumValue: oneOf: - $ref: '#/components/schemas/StringVellumValue' - $ref: '#/components/schemas/NumberVellumValue' - $ref: '#/components/schemas/JsonVellumValue' - $ref: '#/components/schemas/AudioVellumValue' - $ref: '#/components/schemas/VideoVellumValue' - $ref: '#/components/schemas/ImageVellumValue' - $ref: '#/components/schemas/DocumentVellumValue' - $ref: '#/components/schemas/FunctionCallVellumValue' - $ref: '#/components/schemas/ErrorVellumValue' - $ref: '#/components/schemas/ArrayVellumValue' - $ref: '#/components/schemas/ChatHistoryVellumValue' - $ref: '#/components/schemas/SearchResultsVellumValue' - $ref: '#/components/schemas/ThinkingVellumValue' title: VellumValue ArrayChatMessageContentItem: oneOf: - $ref: '#/components/schemas/StringChatMessageContent' - $ref: '#/components/schemas/FunctionCallChatMessageContent' - $ref: '#/components/schemas/AudioChatMessageContent' - $ref: '#/components/schemas/VideoChatMessageContent' - $ref: '#/components/schemas/ImageChatMessageContent' - $ref: '#/components/schemas/DocumentChatMessageContent' title: ArrayChatMessageContentItem DeploymentRead: type: object properties: id: type: string format: uuid created: type: string format: date-time label: type: string description: A human-readable label for the deployment name: type: string description: A name that uniquely identifies this deployment within its workspace status: $ref: '#/components/schemas/EntityStatus' description: 'The current status of the deployment * `ACTIVE` - Active * `ARCHIVED` - Archived * `PENDING_DELETION` - Pending Deletion' environment: oneOf: - $ref: '#/components/schemas/EnvironmentEnum' - type: 'null' description: Deprecated. The value returned will always be 'PRODUCTION'. last_deployed_on: type: string format: date-time input_variables: type: array items: $ref: '#/components/schemas/VellumVariable' description: type: - string - 'null' description: A human-readable description of the deployment active_model_version_ids: type: - array - 'null' items: type: string format: uuid description: Deprecated. This now always returns an empty array. last_deployed_history_item_id: type: string format: uuid description: The ID of the history item associated with this Deployment's LATEST Release Tag required: - id - created - label - name - last_deployed_on - input_variables - active_model_version_ids - last_deployed_history_item_id description: A Prompt Deployment's full details. title: DeploymentRead securitySchemes: default: type: apiKey in: header name: X-API-KEY