Vellum AI subpackage_sandboxes API

The subpackage_sandboxes API from Vellum AI — 3 operation(s) for subpackage_sandboxes.

Operations 3

POST /v1/sandboxes/{id}/prompts/{prompt_variant_id}/deploy Deploy Prompt #
POST /v1/sandboxes/{id}/scenarios Upsert Sandbox Scenario #
DELETE /v1/sandboxes/{id}/scenarios/{scenario_id} Delete Sandbox Scenario #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vellum-subpackage-sandboxes-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vellum-subpackage-sandboxes-api-openapi.yml Raw ↑
openapi: 3.2.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:
    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
    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
    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
    PdfEnum:
      type: string
      enum:
      - PDF
      title: PdfEnum
    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
    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
    ThinkingEnum:
      type: string
      enum:
      - THINKING
      title: ThinkingEnum
    SearchResultsEnum:
      type: string
      enum:
      - SEARCH_RESULTS
      title: SearchResultsEnum
    VideoEnum:
      type: string
      enum:
      - VIDEO
      title: VideoEnum
    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
    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
    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
    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
    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
    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
    SearchResultMetaSource:
      oneOf:
      - $ref: '#/components/schemas/PdfSearchResultMetaSource'
      title: SearchResultMetaSource
    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
    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
    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
    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
    NamedScenarioInputImageVariableValueRequest:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ImageEnum'
        value:
          $ref: '#/components/schemas/VellumImageRequest'
        name:
          type: string
      required:
      - type
      - value
      - name
      title: NamedScenarioInputImageVariableValueRequest
    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
    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
    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
    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
    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
    ChatHistoryEnum:
      type: string
      enum:
      - CHAT_HISTORY
      title: ChatHistoryEnum
    ImageEnum:
      type: string
      enum:
      - IMAGE
      title: ImageEnum
    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
    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
    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
    AudioEnum:
      type: string
      enum:
      - AUDIO
      title: AudioEnum
    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
    FunctionCallEnum:
      type: string
      enum:
      - FUNCTION_CALL
      title: FunctionCallEnum
    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
    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
    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
    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
    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
    EnvironmentEnum:
      type: string
      enum:
      - DEVELOPMENT
      - STAGING
      - PRODUCTION
      title: EnvironmentEnum
    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
    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
    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
    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
    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
    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
    DocumentEnum:
      type: string
      enum:
      - DOCUMENT
      title: DocumentEnum
    NamedScenarioInputAudioVariableValueRequest:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/AudioEnum'
        value:
          $ref: '#/components/schemas/VellumAudioRequest'
        name:
          type: string
      required:
      - type
      - value
      - name
      title: NamedScenarioInputAudioVariableValueRequest
    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
    NamedScenarioInputDocumentVariableValueRequest:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/DocumentEnum'
        value:
          $ref: '#/components/schemas/VellumDocumentRequest'
        name:
          type: string
      required:
      - type
      - value
      - name
      title: NamedScenarioInputDocumentVariableValueRequest
    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
    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
    SearchResultMeta:
      type: object
      properties:
        source:
          oneOf:
          - $ref: '#/components/schemas/SearchResultMetaSource'
          - type: 'null'
      title: SearchResultMeta
    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
    ChatMessageRole:
      type: string
      enum:
      - SYSTEM
      - ASSISTANT
      - USER
      - FUNCTION
      description: '* `SYSTEM` - System

        * `ASSISTANT` - Assistant

        * `USER` - User

        * `FUNCTION` - Function'
      title: ChatMessageRole
    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
    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
    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
    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
    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
    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
    ArrayEnum:
      type: string
      enum:
      - ARRAY
      title: ArrayEnum
    JsonEnum:
      type: string
      enum:
      - JSON
      title: JsonEnum
    ErrorEnum:
      type: string
      enum:
      - ERROR
      title: ErrorEnum
    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

# --- truncated at 32 KB (45 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vellum/refs/heads/main/openapi/vellum-subpackage-sandboxes-api-openapi.yml