Vellum AI subpackage_sandboxes API

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

OpenAPI Specification

vellum-subpackage-sandboxes-api-openapi.yml Raw ↑
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


# --- 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